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
- API Key (ApiKeyAuth)
- Parameter Name: Authorization, in: header.
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.1,
"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.1,
"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.1,
"amount_unit": "AMOUNT_UNIT_UNSPECIFIED",
"cost": {
"amount": 0.1,
"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 |
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.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
invoice_id | query | string | false | Invoice ID that payments are related to it. |
Example responses
200 Response
{
"payments": [
{
"amount": 0.1,
"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 |
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.1,
"description": "string",
"discounts": [
{
"end_time": "2019-08-24T14:15:22Z",
"max_usage": 0.1,
"min_usage": 0.1,
"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.1,
"description": "string",
"discounts": [
{
"end_time": "2019-08-24T14:15:22Z",
"max_usage": 0.1,
"min_usage": 0.1,
"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.1,
"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.1,
"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.1,
"amount_unit": "AMOUNT_UNIT_UNSPECIFIED",
"cost": {
"amount": 0.1,
"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 requested 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 |
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 |
GetMyAccount
Code samples
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://mcls-api.mycujoo.tv/accounts/v1/myself', 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/accounts/v1/myself", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/accounts/v1/myself HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/accounts/v1/myself',
{
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/accounts/v1/myself',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /accounts/v1/myself
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.GetMyAccountResponse |
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 |
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.1,
"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.1,
"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.1,
"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.1,
"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.1,
"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.1,
"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.1,
"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.1,
"number_value": "string",
"string_value": "string"
}
],
"order": 0,
"title": "string"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | none |
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.1,
"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.1,
"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.1,
"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 consumption analytics for all streams in a project
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/analytics/v1/consumption/projects/{project_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/v1/consumption/projects/{project_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/analytics/v1/consumption/projects/{project_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/v1/consumption/projects/{project_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/v1/consumption/projects/{project_id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /analytics/v1/consumption/projects/{project_id}
Get consumption analytics for all streams in a project.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
project_id | path | string | true | example: abc123 |
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. |
filter | query | string | false | Filters the result by several dimensions using KQL |
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.
filter: Filters the result by several dimensions using KQL example: city:(London OR Manchester) isp:Vodafone " Possible filters: - identity_id - device_type - isp - connection_type - country_code - region - state_province - city - os - cdn
Example responses
200 Response
{
"average_watch_time": {
"content_type_watch_time": [
{
"content_type": "CONTENT_TYPE_UNSPECIFIED",
"minutes": 0.1
}
],
"total_minutes": 0.1
},
"project_id": "string",
"unique_users": {
"content_type_users": [
{
"content_type": "CONTENT_TYPE_UNSPECIFIED",
"users_count": 0
}
],
"total_users": 0
},
"watch_time": {
"content_type_watch_time": [
{
"content_type": "CONTENT_TYPE_UNSPECIFIED",
"minutes": 0.1
}
],
"total_minutes": 0.1
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.analytics.v1.GetProjectConsumptionStatsResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Get the average playtime timeseries for a specific project
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/analytics/v1/consumption/projects/{project_id}/average-playtime', 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/consumption/projects/{project_id}/average-playtime", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/analytics/v1/consumption/projects/{project_id}/average-playtime 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/consumption/projects/{project_id}/average-playtime',
{
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/consumption/projects/{project_id}/average-playtime',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /analytics/v1/consumption/projects/{project_id}/average-playtime
Get the average playtime timeseries for a specific project
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
project_id | path | string | true | example: elevendata |
time_step | query | string | false | example: TIME_STEP_DAY |
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. |
filter | query | string | false | Filters the result by several dimensions using KQL |
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.
filter: Filters the result by several dimensions using KQL example: city:(London OR Manchester) isp:Vodafone " Possible filters: - identity_id - device_type - isp - connection_type - country_code - region - state_province - city - os - cdn
Enumerated Values
Parameter | Value |
---|---|
time_step | TIME_STEP_UNSPECIFIED |
time_step | TIME_STEP_MINUTE |
time_step | TIME_STEP_HOUR |
time_step | TIME_STEP_DAY |
time_step | TIME_STEP_MONTH |
time_step | TIME_STEP_YEAR |
Example responses
200 Response
{
"average_playtime_points": [
{
"average_playtime": 0.1,
"time": "2019-08-24T14:15:22Z"
}
],
"time_step": "TIME_STEP_UNSPECIFIED"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.analytics.v1.GetProjectAveragePlaytimeTimeSeriesResponse |
default | Default | An unexpected error response. | google.rpc.Status |
List stream stats summary for a project
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/analytics/v1/consumption/projects/{project_id}/streams', 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/consumption/projects/{project_id}/streams", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/analytics/v1/consumption/projects/{project_id}/streams 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/consumption/projects/{project_id}/streams',
{
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/consumption/projects/{project_id}/streams',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /analytics/v1/consumption/projects/{project_id}/streams
List stream stats summary for a project
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
project_id | path | string | true | example: elevendata |
page_size | query | integer(int32) | false | The maximum number of streams to return. |
order_by | query | string | false | Order of the results. |
page_token | query | string | false | A page token, received from a previous ListStreamStatSummaryRequest call. |
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. |
filter | query | string | false | Filters the result by several dimensions using KQL |
Detailed descriptions
page_size: The maximum number of streams to return. If unspecified, at most 20 streams will be returned.
order_by: Order of the results.
The possible ordering columns are: total_plays, total_playtime, unique_users, title, average_buffer_ratio_live, average_buffer_ratio_vod, average_play_time For example: total_plays desc (AIP-132)
page_token: A page token, received from a previous ListStreamStatSummaryRequest
call.
Provide this to retrieve the subsequent page.
When paginating, all other parameters provided to ListStreamStatSummaryRequest
must match
the call that provided the page token.
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.
filter: Filters the result by several dimensions using KQL example: city:(London OR Manchester) isp:Vodafone " Possible filters: - identity_id - device_type - isp - connection_type - country_code - region - state_province - city - os - cdn
Example responses
200 Response
{
"next_page_token": "string",
"streams": [
{
"average_live_buffer_ratio": 0.1,
"average_play_time": 0.1,
"average_vod_buffer_ratio": 0.1,
"stream_id": "string",
"title": "string",
"total_plays": 0,
"total_playtime": 0.1,
"total_users": 0
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.analytics.v1.ListStreamStatSummariesResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Get the total plays timeseries for a specific project
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/analytics/v1/consumption/projects/{project_id}/total-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/v1/consumption/projects/{project_id}/total-plays", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/analytics/v1/consumption/projects/{project_id}/total-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/v1/consumption/projects/{project_id}/total-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/v1/consumption/projects/{project_id}/total-plays',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /analytics/v1/consumption/projects/{project_id}/total-plays
Get the total plays timeseries for a specific project
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
project_id | path | string | true | example: elevendata |
time_step | query | string | false | example: TIME_STEP_DAY |
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. |
filter | query | string | false | Filters the result by several dimensions using KQL |
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.
filter: Filters the result by several dimensions using KQL example: city:(London OR Manchester) isp:Vodafone " Possible filters: - identity_id - device_type - isp - connection_type - country_code - region - state_province - city - os - cdn
Enumerated Values
Parameter | Value |
---|---|
time_step | TIME_STEP_UNSPECIFIED |
time_step | TIME_STEP_MINUTE |
time_step | TIME_STEP_HOUR |
time_step | TIME_STEP_DAY |
time_step | TIME_STEP_MONTH |
time_step | TIME_STEP_YEAR |
Example responses
200 Response
{
"time_step": "TIME_STEP_UNSPECIFIED",
"total_plays_points": [
{
"plays": 0,
"time": "2019-08-24T14:15:22Z"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.analytics.v1.GetProjectTotalPlaysTimeSeriesResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Get the total playtime timeseries for a specific project
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/analytics/v1/consumption/projects/{project_id}/total-playtime', 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/consumption/projects/{project_id}/total-playtime", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/analytics/v1/consumption/projects/{project_id}/total-playtime 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/consumption/projects/{project_id}/total-playtime',
{
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/consumption/projects/{project_id}/total-playtime',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /analytics/v1/consumption/projects/{project_id}/total-playtime
Get the total playtime timeseries for a specific project
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
project_id | path | string | true | example: elevendata |
time_step | query | string | false | example: TIME_STEP_DAY |
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. |
filter | query | string | false | Filters the result by several dimensions using KQL |
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.
filter: Filters the result by several dimensions using KQL example: city:(London OR Manchester) isp:Vodafone " Possible filters: - identity_id - device_type - isp - connection_type - country_code - region - state_province - city - os - cdn
Enumerated Values
Parameter | Value |
---|---|
time_step | TIME_STEP_UNSPECIFIED |
time_step | TIME_STEP_MINUTE |
time_step | TIME_STEP_HOUR |
time_step | TIME_STEP_DAY |
time_step | TIME_STEP_MONTH |
time_step | TIME_STEP_YEAR |
Example responses
200 Response
{
"time_step": "TIME_STEP_UNSPECIFIED",
"total_playtime_points": [
{
"time": "2019-08-24T14:15:22Z",
"total_playtime": 0.1
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.analytics.v1.GetProjectTotalPlaytimeTimeSeriesResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Get the unique users time series for a specific project
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/analytics/v1/consumption/projects/{project_id}/unique-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/v1/consumption/projects/{project_id}/unique-users", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/analytics/v1/consumption/projects/{project_id}/unique-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/v1/consumption/projects/{project_id}/unique-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/v1/consumption/projects/{project_id}/unique-users',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /analytics/v1/consumption/projects/{project_id}/unique-users
Get the unique users time series for a specific project
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
project_id | path | string | true | example: elevendata |
time_step | query | string | false | example: TIME_STEP_DAY |
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. |
filter | query | string | false | Filters the result by several dimensions using KQL |
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.
filter: Filters the result by several dimensions using KQL example: city:(London OR Manchester) isp:Vodafone " Possible filters: - identity_id - device_type - isp - connection_type - country_code - region - state_province - city - os - cdn
Enumerated Values
Parameter | Value |
---|---|
time_step | TIME_STEP_UNSPECIFIED |
time_step | TIME_STEP_MINUTE |
time_step | TIME_STEP_HOUR |
time_step | TIME_STEP_DAY |
time_step | TIME_STEP_MONTH |
time_step | TIME_STEP_YEAR |
Example responses
200 Response
{
"time_step": "TIME_STEP_UNSPECIFIED",
"unique_users_points": [
{
"time": "2019-08-24T14:15:22Z",
"unique_users": 0
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.analytics.v1.GetProjectUniqueUsersTimeSeriesResponse |
default | Default | An unexpected error response. | google.rpc.Status |
List watch events from a project
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/analytics/v1/consumption/projects/{project_id}/watch-events', 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/consumption/projects/{project_id}/watch-events", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/analytics/v1/consumption/projects/{project_id}/watch-events 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/consumption/projects/{project_id}/watch-events',
{
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/consumption/projects/{project_id}/watch-events',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /analytics/v1/consumption/projects/{project_id}/watch-events
List watch events for a project
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
project_id | path | string | true | example: eleven-italy |
filter | query | string | false | Filters the list of the result using KQL |
page_size | query | integer(int32) | false | The maximum number of events to return. |
page_token | query | string | false | A page token, received from a previous ListWatchEventsRequest call. |
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. |
order_by | query | string | false | Order of the results. |
Detailed descriptions
filter: Filters the list of the result using KQL example: stream_id:cl1w6bavs0peo0134kflbwkc7 event_type:(PLAY OR STOP) identity_id:"45da7744-ced8-47e1-8caf-09a01616647d" Possible filters: - event_type - identity_id - device_type - isp - connection_type - country_code - region - state_province - city - os - cdn
page_size: The maximum number of events to return. If unspecified, at most 10 watch events will be returned.
page_token: A page token, received from a previous ListWatchEventsRequest
call.
Provide this to retrieve the subsequent page.
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.
order_by: Order of the results. For example: event_time asc If not present the default ordering is event_time desc
Example responses
200 Response
{
"next_page_token": "string",
"watch_events": [
{
"cdn": "string",
"city": "string",
"connection_type": "string",
"country_code": "string",
"device_name": "string",
"effective_time": "string",
"event_time": "2019-08-24T14:15:22Z",
"event_type": "string",
"happiness_score": 0.1,
"has_error": true,
"identity_id": "string",
"ip": "string",
"isp": "string",
"session_id": "string",
"stream_id": "string",
"title": "string",
"type_view": "CONTENT_TYPE_UNSPECIFIED",
"watch_duration": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.analytics.v1.ListWatchEventsResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Get consumption analytics for a single stream
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/analytics/v1/consumption/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/v1/consumption/streams/{stream_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/analytics/v1/consumption/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/v1/consumption/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/v1/consumption/streams/{stream_id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /analytics/v1/consumption/streams/{stream_id}
Get consumption analytics for a single 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. |
filter | query | string | false | Filters the result by several dimensions using KQL |
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.
filter: Filters the result by several dimensions using KQL example: city:(London OR Manchester) isp:Vodafone " Possible filters: - identity_id - device_type - isp - connection_type - country_code - region - state_province - city - os - cdn
Example responses
200 Response
{
"average_watch_time": {
"content_type_watch_time": [
{
"content_type": "CONTENT_TYPE_UNSPECIFIED",
"minutes": 0.1
}
],
"total_minutes": 0.1
},
"stream_id": "string",
"unique_users": {
"content_type_users": [
{
"content_type": "CONTENT_TYPE_UNSPECIFIED",
"users_count": 0
}
],
"total_users": 0
},
"watch_time": {
"content_type_watch_time": [
{
"content_type": "CONTENT_TYPE_UNSPECIFIED",
"minutes": 0.1
}
],
"total_minutes": 0.1
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.analytics.v1.GetStreamConsumptionStatsResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Get the media source 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/media_sources/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/media_sources/stats-snapshot", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/analytics/v1/media_sources/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/media_sources/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/media_sources/stats-snapshot',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /analytics/v1/media_sources/stats-snapshot
Get the media source stats snapshots in batch.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
media_source_ids | query | array[string] | false | example: ck8u9fwwu1wtg0hewiqz3we6j |
Example responses
200 Response
{
"snapshots": [
{
"media_source_id": "string",
"snapshot": {
"audio_bit_rate": 0,
"bit_rate": 0,
"connection_count": 0,
"frame_rate": 0.1,
"key_frame_consistent": true,
"key_frame_interval": 0.1,
"time": "2019-08-24T14:15:22Z",
"video_height": 0
}
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.analytics.v1.GetMediaSourceStatsSnapshotBatchResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Get stats time series for a media source
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/analytics/v1/media_sources/{media_source_id}/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/v1/media_sources/{media_source_id}/stats", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/analytics/v1/media_sources/{media_source_id}/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/v1/media_sources/{media_source_id}/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/v1/media_sources/{media_source_id}/stats',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /analytics/v1/media_sources/{media_source_id}/stats
Get stats time series for a media source.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
media_source_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,
"bit_rate": 0,
"connection_count": 0,
"frame_rate": 0.1,
"key_frame_consistent": true,
"key_frame_interval": 0.1,
"time": "2019-08-24T14:15:22Z",
"video_height": 0
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.analytics.v1.GetMediaSourceStatsTimeSeriesResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Get the stats snapshot for a media source
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/analytics/v1/media_sources/{media_source_id}/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/media_sources/{media_source_id}/stats-snapshot", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/analytics/v1/media_sources/{media_source_id}/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/media_sources/{media_source_id}/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/media_sources/{media_source_id}/stats-snapshot',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /analytics/v1/media_sources/{media_source_id}/stats-snapshot
Get the stats snapshot for a media source.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
media_source_id | path | string | true | example: ck8u9fwwu1wtg0hewiqz3we6j |
Example responses
200 Response
{
"snapshot": {
"audio_bit_rate": 0,
"bit_rate": 0,
"connection_count": 0,
"frame_rate": 0.1,
"key_frame_consistent": true,
"key_frame_interval": 0.1,
"time": "2019-08-24T14:15:22Z",
"video_height": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.analytics.v1.GetMediaSourceStatsSnapshotResponse |
default | Default | An unexpected error response. | google.rpc.Status |
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.1,
"key_frame_consistent": true,
"key_frame_interval": 0.1,
"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/v1/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/v1/streams/{stream_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/analytics/v1/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/v1/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/v1/streams/{stream_id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /analytics/v1/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. |
filter | query | string | false | Filters the result by several dimensions using KQL |
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.
filter: Filters the result by several dimensions using KQL example: city:(London OR Manchester) isp:Vodafone " Possible filters: - identity_id - device_type - isp - connection_type - country_code - region - state_province - city - os - cdn
Example responses
200 Response
{
"buffer_ratio_time_series": [
{
"content_type": "CONTENT_TYPE_UNSPECIFIED",
"points": [
{
"ratio": 0.1,
"time": "2019-08-24T14:15:22Z"
}
]
}
],
"concurrent_plays_time_series": [
{
"plays": 0,
"time": "2019-08-24T14:15:22Z"
}
],
"total_users_time_series": [
{
"content_type": "CONTENT_TYPE_UNSPECIFIED",
"users_count": 0
}
],
"video_stats_time_series": [
{
"audio_bit_rate": 0,
"bit_rate": 0,
"connection_count": 0,
"frame_rate": 0.1,
"key_frame_consistent": true,
"key_frame_interval": 0.1,
"resolution": 0,
"time": "2019-08-24T14:15:22Z"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.analytics.v1.GetStreamStatsResponse |
default | Default | An unexpected error response. | google.rpc.Status |
List activity logs 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}/activities', 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}/activities", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/analytics/v1/streams/{stream_id}/activities 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}/activities',
{
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}/activities',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /analytics/v1/streams/{stream_id}/activities
List activity logs for a stream.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
stream_id | path | string | true | example: ck8u9fwwu1wtg0hewiqz3we6j |
filter | query | string | false | Filters the list of the result using KQL |
page_size | query | integer(int32) | false | The maximum number of activities to return. The service may return fewer than |
page_token | query | string | false | A page token, received from a previous ListStreamActivityLogs call. |
Detailed descriptions
filter: Filters the list of the result using KQL example: create_time>="2023-04-26T16:23:13Z" create_time<"2023-04-26T16:33:13Z" source:thumbnails
page_size: The maximum number of activities to return. The service may return fewer than this value. If unspecified, at most 50 activities will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
page_token: A page token, received from a previous ListStreamActivityLogs
call.
Provide this to retrieve the subsequent page.
When paginating, all other parameters provided to ListStreamActivityLogs
must match
the call that provided the page token.
Example responses
200 Response
{
"activities": [
{
"create_time": "2019-08-24T14:15:22Z",
"description": "string",
"id": "string",
"name": "string",
"source": "string"
}
],
"next_page_token": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.analytics.v1.ListStreamActivityLogsResponse |
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/v1/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/v1/streams/{stream_id}/buffer-ratio", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/analytics/v1/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/v1/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/v1/streams/{stream_id}/buffer-ratio',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /analytics/v1/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. |
time_step | query | string | false | example: TIME_STEP_HOUR |
filter | query | string | false | Filters the result by several dimensions using KQL |
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.
filter: Filters the result by several dimensions using KQL example: city:(London OR Manchester) isp:Vodafone " Possible filters: - identity_id - device_type - isp - connection_type - country_code - region - state_province - city - os - cdn
Enumerated Values
Parameter | Value |
---|---|
time_step | TIME_STEP_UNSPECIFIED |
time_step | TIME_STEP_MINUTE |
time_step | TIME_STEP_HOUR |
time_step | TIME_STEP_DAY |
time_step | TIME_STEP_MONTH |
time_step | TIME_STEP_YEAR |
Example responses
200 Response
{
"time_series": [
{
"content_type": "CONTENT_TYPE_UNSPECIFIED",
"points": [
{
"ratio": 0.1,
"time": "2019-08-24T14:15:22Z"
}
]
}
],
"time_step": "TIME_STEP_UNSPECIFIED"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.analytics.v1.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/v1/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/v1/streams/{stream_id}/concurrent-plays", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/analytics/v1/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/v1/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/v1/streams/{stream_id}/concurrent-plays',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /analytics/v1/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. |
time_step | query | string | false | example: TIME_STEP_HOUR |
filter | query | string | false | Filters the result by several dimensions using KQL |
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.
filter: Filters the result by several dimensions using KQL example: city:(London OR Manchester) isp:Vodafone " Possible filters: - identity_id - device_type - isp - connection_type - country_code - region - state_province - city - os - cdn
Enumerated Values
Parameter | Value |
---|---|
time_step | TIME_STEP_UNSPECIFIED |
time_step | TIME_STEP_MINUTE |
time_step | TIME_STEP_HOUR |
time_step | TIME_STEP_DAY |
time_step | TIME_STEP_MONTH |
time_step | TIME_STEP_YEAR |
Example responses
200 Response
{
"concurrent_plays": [
{
"plays": 0,
"time": "2019-08-24T14:15:22Z"
}
],
"time_step": "TIME_STEP_UNSPECIFIED"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.analytics.v1.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/v1/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/v1/streams/{stream_id}/total-users", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/analytics/v1/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/v1/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/v1/streams/{stream_id}/total-users',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /analytics/v1/streams/{stream_id}/total-users
Get total users for a stream.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
stream_id | path | string | true | example: ck8u9fwwu1wtg0hewiqz3we6j |
filter | query | string | false | Filters the result by several dimensions using KQL |
Detailed descriptions
filter: Filters the result by several dimensions using KQL example: city:(London OR Manchester) isp:Vodafone " Possible filters: - identity_id - device_type - isp - connection_type - country_code - region - state_province - city - os - cdn
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.v1.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/v1/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/v1/streams/{stream_id}/video-stats", 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 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',
{
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',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /analytics/v1/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,
"bit_rate": 0,
"connection_count": 0,
"frame_rate": 0.1,
"key_frame_consistent": true,
"key_frame_interval": 0.1,
"resolution": 0,
"time": "2019-08-24T14:15:22Z"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.analytics.v1.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.1,
"key_frame_consistent": true,
"key_frame_interval": 0.1,
"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 |
Get a watch session by id
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/analytics/v1beta1/consumption/projects/{project_id}/sessions/{session_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/consumption/projects/{project_id}/sessions/{session_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/analytics/v1beta1/consumption/projects/{project_id}/sessions/{session_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/consumption/projects/{project_id}/sessions/{session_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/consumption/projects/{project_id}/sessions/{session_id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /analytics/v1beta1/consumption/projects/{project_id}/sessions/{session_id}
Get a watch session by id
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
project_id | path | string | true | example: eleven-italy |
session_id | path | string | true | The id of the session |
Example responses
200 Response
{
"content": {
"media_resource": "string",
"origin": "string",
"stream_id": "string",
"streaming_protocol": "string",
"title": "string",
"type_view": "CONTENT_TYPE_UNSPECIFIED"
},
"device": {
"browser_name": "string",
"browser_version": "string",
"model": "string",
"os": "string",
"os_version": "string",
"player": "string",
"plugin_version": "string",
"type": "string",
"vendor": "string"
},
"effective_watch_duration": "string",
"events": [
{
"buffer_duration": "string",
"event_time": "2019-08-24T14:15:22Z",
"event_type": "string",
"offset": "string",
"play_head": "string",
"rendition": "string"
}
],
"geolocation": {
"city": "string",
"country_code": "string",
"region": "string"
},
"identity": {
"happiness_score": 0.1,
"identity_id": "string",
"is_registered": true
},
"network": {
"cdn": "string",
"connection_type": "string",
"isp": "string"
},
"quality": {
"buffer_ratio": 0.1,
"buffers_count": 0,
"error_description": "string",
"error_metadata": "string",
"error_player_code": "string",
"error_type": "string",
"join_time": "string"
},
"session_end": "2019-08-24T14:15:22Z",
"session_id": "string",
"session_start": "2019-08-24T14:15:22Z",
"watch_duration": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.analytics.v1beta1.GetSessionResponse |
default | Default | An unexpected error response. | google.rpc.Status |
AnnotationService
TestIamPermissions
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/annotations/v1/sets/test_iam_permissions', 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/v1/sets/test_iam_permissions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/annotations/v1/sets/test_iam_permissions HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/annotations/v1/sets/test_iam_permissions',
{
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 = {
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/annotations/v1/sets/test_iam_permissions',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /annotations/v1/sets/test_iam_permissions
Body parameter
{
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | mycujoo.annotations.v1beta1.TestIamPermissionsRequest | true | none |
Example responses
200 Response
{
"permissions": [
"projects.create",
"projects.update"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.annotations.v1beta1.TestIamPermissionsResponse |
default | Default | An unexpected error response. | google.rpc.Status |
GetAnnotationSetIamPolicy
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/annotations/v1/sets/{set_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": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://mcls-api.mycujoo.tv/annotations/v1/sets/{set_id}/iam_policy", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/annotations/v1/sets/{set_id}/iam_policy 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/v1/sets/{set_id}/iam_policy',
{
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/v1/sets/{set_id}/iam_policy',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /annotations/v1/sets/{set_id}/iam_policy
Returns current IAM policy for the annotation set. Use returned policy and etag to update policy.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
set_id | path | string | true | none |
Example responses
200 Response
{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
},
"resource_hierarchy": [
{
"id": "elevendata",
"type": "project"
}
],
"resource_title": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.annotations.v1beta1.GetAnnotationSetIamPolicyResponse |
default | Default | An unexpected error response. | google.rpc.Status |
SetAnnotationSetIamPolicy
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/annotations/v1/sets/{set_id}/iam_policy', 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/v1/sets/{set_id}/iam_policy", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/annotations/v1/sets/{set_id}/iam_policy HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/annotations/v1/sets/{set_id}/iam_policy',
{
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 = {
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
}
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/annotations/v1/sets/{set_id}/iam_policy',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /annotations/v1/sets/{set_id}/iam_policy
Set IAM policy for the annotation set.
The policy should control permissions annotations.sets.*
and it will take effect for annotations as well.
Body parameter
{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
set_id | path | string | true | none |
body | body | object | true | none |
ยป etag | body | string(byte) | false | none |
ยป policy | body | mycujoo.auth.v1.Policy | true | Authorization policy. |
ยปยป bindings | body | [mycujoo.auth.v1.Binding] | false | List of bindings to the policy. If empty, the policy will not have any effect. |
ยปยปยป account_ids | body | [string] | false | List of account identifiers (referencing mycujoo.accounts.v1.Account ) that have the role. |
ยปยปยป include_all_organization_accounts | body | boolean | false | If this is set to true then the role is granted to all accounts in the organization. It overrides the account_ids field. |
ยปยปยป role_id | body | string | false | none |
Detailed descriptions
ยปยป bindings: List of bindings to the policy. If empty, the policy will not have any effect. Total number of accounts referenced in the bindings should be up to 1500. If same account has multiple roles - it is counted multiple times.
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.annotations.v1beta1.SetAnnotationSetIamPolicyResponse |
default | Default | An unexpected error response. | google.rpc.Status |
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.
- ORDER_OFFSET_ASC: Results sorted by offset ascending
- ORDER_OFFSET_DESC: Results sorted by offset descending
includes: Specifies what response metadata should include. e.g. when 'INCLUDE_TOTAL_SIZE' is passed, response metadata will include total size of the result
- INCLUDE_TOTAL_SIZE: When included, response will contain metadata about total number of available results irrespective of pagination
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.
- ORDER_TITLE_ASC: Results sorted by title ascending
- ORDER_TITLE_DESC: Results sorted by title descending
includes: Specifies what response metadata should include. e.g. when 'INCLUDE_TOTAL_SIZE' is passed, response metadata will include total size of the result
- INCLUDE_TOTAL_SIZE: When included, response will contain metadata about total number of available results irrespective of pagination
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 |
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.
- ORDER_TITLE_ASC: Results sorted by title ascending
- ORDER_TITLE_DESC: Results sorted by title descending
includes: Specifies what response metadata should include. e.g. when 'INCLUDE_TOTAL_SIZE' is passed, response metadata will include total size of the result
- INCLUDE_TOTAL_SIZE: When included, response will contain metadata about total number of available results irrespective of pagination
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 |
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 |
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
Lists assets
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/assets/v1beta1', params={
'page_size': '0'
}, 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/assets/v1beta1", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/assets/v1beta1?page_size=0 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?page_size=0',
{
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/assets/v1beta1?page_size=0',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /assets/v1beta1
Lists assets.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
page_size | query | integer(int32) | true | Maximum number of records to return. |
page_token | query | string | false | Pagination token from the ListAssets response. |
filter | query | string | false | Filter |
Example responses
200 Response
{
"assets": [
{
"audio_metadata": {
"audio_format": "string",
"duration": "string"
},
"bucket_name": "string",
"create_time": "2019-08-24T14:15:22Z",
"extension": "string",
"id": "string",
"image_metadata": {
"height": 0,
"width": 0
},
"labels": {
"property1": "string",
"property2": "string"
},
"media_type": "string",
"org_id": "string",
"path": "string",
"project_id": "string",
"public_url": "string",
"size_bytes": "string",
"thumbnail": {
"id": "string",
"public_url": "string"
},
"title": "string",
"update_time": "2019-08-24T14:15:22Z",
"video_metadata": {
"duration": "string",
"height": 0,
"video_format": "string",
"width": 0
}
}
],
"next_page_token": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.assets.v1beta1.ListAssetsResponse |
500 | Internal Server Error | Internal Server Error | Inline |
default | Default | An unexpected error response. | google.rpc.Status |
Response Schema
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 |
---|---|---|---|---|
org_id | query | string | false | Organization ID of the asset. |
project_id | query | string | false | Project ID of the asset |
media_type | query | string | false | Media type (MIME) of the asset as defined in RFC2045 |
bucket_name | query | string | false | Bucket name of the stored object. |
path | query | string | false | Path to the stored object. |
labels[string] | query | string | false | Key-value labels of the asset. These can help organize the assets; for example, type:image |
title | query | string | false | Human-friendly title of the asset. |
size_bytes | query | string(int64) | false | Size of the asset (in bytes) |
image_metadata.width | query | integer(int32) | false | Width of the image |
image_metadata.height | query | integer(int32) | false | Height of the image |
video_metadata.width | query | integer(int32) | false | Width of the video |
video_metadata.height | query | integer(int32) | false | Height of the video |
video_metadata.duration | query | string | false | Duration of the video |
video_metadata.video_format | query | string | false | Video format (name of the video container format, eg. MPEG-4, Matroska, FLV) |
audio_metadata.duration | query | string | false | Duration of the audio |
audio_metadata.audio_format | query | string | false | Audio format (name of the video container format, eg. MPEG-3) |
Detailed descriptions
labels[string]: Key-value labels of the asset. These can help organize the assets; for example, type:image
This is a request variable of the map type. The query format is "map_name[key]=value", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age["bob"]=18
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.title | query | string | false | Human-friendly name of the asset. |
asset.labels[string] | query | string | false | Key-value labels of the asset. These can help organize the assets; for example, type:image |
asset.image_metadata.width | query | integer(int32) | false | Width of the image |
asset.image_metadata.height | query | integer(int32) | false | Height of the image |
asset.video_metadata.width | query | integer(int32) | false | Width of the video |
asset.video_metadata.height | query | integer(int32) | false | Height of the video |
asset.video_metadata.duration | query | string | false | Duration of the video |
asset.video_metadata.video_format | query | string | false | Video format (name of the video container format, eg. MPEG-4, Matroska, FLV) |
asset.audio_metadata.duration | query | string | false | Duration of the audio |
asset.audio_metadata.audio_format | query | string | false | Audio format (name of the video container format, eg. MPEG-3) |
asset.size_bytes | query | string(int64) | false | Size of the asset (in bytes) |
Detailed descriptions
asset.labels[string]: Key-value labels of the asset. These can help organize the assets; for example, type:image
This is a request variable of the map type. The query format is "map_name[key]=value", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age["bob"]=18
Example responses
200 Response
{
"asset": {
"audio_metadata": {
"audio_format": "string",
"duration": "string"
},
"bucket_name": "string",
"create_time": "2019-08-24T14:15:22Z",
"extension": "string",
"id": "string",
"image_metadata": {
"height": 0,
"width": 0
},
"labels": {
"property1": "string",
"property2": "string"
},
"media_type": "string",
"org_id": "string",
"path": "string",
"project_id": "string",
"public_url": "string",
"size_bytes": "string",
"thumbnail": {
"id": "string",
"public_url": "string"
},
"title": "string",
"update_time": "2019-08-24T14:15:22Z",
"video_metadata": {
"duration": "string",
"height": 0,
"video_format": "string",
"width": 0
}
}
}
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
Lists all avaliable label keys of assets
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/assets/v1beta1/labels_keys', params={
'page_size': '0'
}, 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/assets/v1beta1/labels_keys", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/assets/v1beta1/labels_keys?page_size=0 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/labels_keys?page_size=0',
{
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/assets/v1beta1/labels_keys?page_size=0',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /assets/v1beta1/labels_keys
Imports a single asset.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
page_size | query | integer(int32) | true | Maximum number of records to return. |
page_token | query | string | false | Pagination token from the ListAssets response. |
filter | query | string | false | Filter |
Example responses
200 Response
{
"keys": [
{
"create_time": "2019-08-24T14:15:22Z",
"id": "string",
"key": "string"
}
],
"next_page_token": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.assets.v1beta1.ListLabelKeysResponse |
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 all avaliable label values of assets
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/assets/v1beta1/labels_values', params={
'page_size': '0'
}, 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/assets/v1beta1/labels_values", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/assets/v1beta1/labels_values?page_size=0 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/labels_values?page_size=0',
{
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/assets/v1beta1/labels_values?page_size=0',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /assets/v1beta1/labels_values
Imports a single asset.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
page_size | query | integer(int32) | true | Maximum number of records to return. |
page_token | query | string | false | Pagination token from the ListAssets response. |
filter | query | string | false | Filter |
Example responses
200 Response
{
"next_page_token": "string",
"values": [
{
"create_time": "2019-08-24T14:15:22Z",
"id": "string",
"value": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.assets.v1beta1.ListLabelValuesResponse |
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_TestIamPermissions
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/assets/v1beta1/test_iam_permissions', 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/assets/v1beta1/test_iam_permissions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/assets/v1beta1/test_iam_permissions HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/assets/v1beta1/test_iam_permissions',
{
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 = {
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/assets/v1beta1/test_iam_permissions',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /assets/v1beta1/test_iam_permissions
Tests IAM permissions for the asset.
Body parameter
{
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | mycujoo.assets.v1beta1.TestIamPermissionsRequest | true | none |
Example responses
200 Response
{
"permissions": [
"projects.create",
"projects.update"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.assets.v1beta1.TestIamPermissionsResponse |
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
Creates an upload session and returns a signed url for uploading the asset
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/assets/v1beta1/uploads', 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/assets/v1beta1/uploads", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/assets/v1beta1/uploads HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"content_length": "string",
"labels": {
"property1": "string",
"property2": "string"
},
"media_type": "string",
"project_id": "string",
"title": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/assets/v1beta1/uploads',
{
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 = {
"content_length": "string",
"labels": {
"property1": "string",
"property2": "string"
},
"media_type": "string",
"project_id": "string",
"title": "string"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/assets/v1beta1/uploads',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /assets/v1beta1/uploads
Creates a asset upload session
Body parameter
{
"content_length": "string",
"labels": {
"property1": "string",
"property2": "string"
},
"media_type": "string",
"project_id": "string",
"title": "string"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | mycujoo.assets.v1beta1.CreateUploadRequest | true | none |
Example responses
200 Response
{
"expiration_time": "2019-08-24T14:15:22Z",
"upload_url": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.assets.v1beta1.CreateUploadResponse |
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": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://mcls-api.mycujoo.tv/assets/v1beta1/{asset_id}/iam_policy", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/assets/v1beta1/{asset_id}/iam_policy 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/{asset_id}/iam_policy',
{
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/assets/v1beta1/{asset_id}/iam_policy',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /assets/v1beta1/{asset_id}/iam_policy
Returns current IAM policy for the asset. Use returned policy and etag to update policy.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
asset_id | path | string | true | none |
Example responses
200 Response
{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
},
"resource_hierarchy": [
{
"id": "elevendata",
"type": "project"
}
],
"resource_title": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.assets.v1beta1.GetIamPolicyResponse |
default | Default | An unexpected error response. | google.rpc.Status |
SetIamPolicy
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('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{
"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/assets/v1beta1/{asset_id}/iam_policy", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/assets/v1beta1/{asset_id}/iam_policy HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/assets/v1beta1/{asset_id}/iam_policy',
{
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 = {
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
}
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/assets/v1beta1/{asset_id}/iam_policy',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /assets/v1beta1/{asset_id}/iam_policy
Set IAM policy for the asset. This method replaces all existing policy bindings for the organization. To prevent overwriting existing policy bindings that were written concurrently, use the etag field to perform a read-modify-write operation. For example: Making a new account to become a organization owner would require reading IAM Policy for the organization, add new binding or update existing binding with role_id: owner, and then set the new policy with etag returned by GetIamPolicy.
Body parameter
{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
asset_id | path | string | true | none |
body | body | object | true | none |
ยป etag | body | string(byte) | false | none |
ยป policy | body | mycujoo.auth.v1.Policy | true | Authorization policy. |
ยปยป bindings | body | [mycujoo.auth.v1.Binding] | false | List of bindings to the policy. If empty, the policy will not have any effect. |
ยปยปยป account_ids | body | [string] | false | List of account identifiers (referencing mycujoo.accounts.v1.Account ) that have the role. |
ยปยปยป include_all_organization_accounts | body | boolean | false | If this is set to true then the role is granted to all accounts in the organization. It overrides the account_ids field. |
ยปยปยป role_id | body | string | false | none |
Detailed descriptions
ยปยป bindings: List of bindings to the policy. If empty, the policy will not have any effect. Total number of accounts referenced in the bindings should be up to 1500. If same account has multiple roles - it is counted multiple times.
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.assets.v1beta1.SetIamPolicyResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Returns a single asset
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/assets/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/assets/v1beta1/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/assets/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/assets/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/assets/v1beta1/{id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /assets/v1beta1/{id}
Returns a single asset.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | Unique identifier 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 |
404 | Not Found | Asset not found | Inline |
500 | Internal Server Error | Internal Server Error | Inline |
default | Default | An unexpected error response. | google.rpc.Status |
Response Schema
Deletes a single asset
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.delete('https://mcls-api.mycujoo.tv/assets/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/assets/v1beta1/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE https://mcls-api.mycujoo.tv/assets/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/assets/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/assets/v1beta1/{id}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE /assets/v1beta1/{id}
Deletes a single asset.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | Unique identifier 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 |
404 | Not Found | Asset not found | Inline |
500 | Internal Server Error | Internal Server Error | Inline |
default | Default | An unexpected error response. | google.rpc.Status |
Response Schema
Updates labels of an asset
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.put('https://mcls-api.mycujoo.tv/assets/v1beta1/{id}/labels', 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("PUT", "https://mcls-api.mycujoo.tv/assets/v1beta1/{id}/labels", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT https://mcls-api.mycujoo.tv/assets/v1beta1/{id}/labels HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"updated_labels": {
"property1": "string",
"property2": "string"
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/assets/v1beta1/{id}/labels',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const inputBody = {
"updated_labels": {
"property1": "string",
"property2": "string"
}
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/assets/v1beta1/{id}/labels',
{
method: 'PUT',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT /assets/v1beta1/{id}/labels
Updates labels of an asset.
Body parameter
{
"updated_labels": {
"property1": "string",
"property2": "string"
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | Unique id of the asset which labels are supposed to be updated |
body | body | object | true | none |
ยป updated_labels | body | object | false | none |
ยปยป additionalProperties | body | string | false | none |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.assets.v1beta1.UpdateAssetLabelsResponse |
400 | Bad Request | Bad input parameters | Inline |
404 | Not Found | Asset not found | Inline |
500 | Internal Server Error | Internal Server Error | Inline |
default | Default | An unexpected error response. | google.rpc.Status |
Response Schema
Updates title of an asset
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.patch('https://mcls-api.mycujoo.tv/assets/v1beta1/{id}/title', 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/assets/v1beta1/{id}/title", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH https://mcls-api.mycujoo.tv/assets/v1beta1/{id}/title HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"updated_title": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/assets/v1beta1/{id}/title',
{
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 = {
"updated_title": "string"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/assets/v1beta1/{id}/title',
{
method: 'PATCH',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PATCH /assets/v1beta1/{id}/title
Updates title of an asset.
Body parameter
{
"updated_title": "string"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | Unique id of the asset which title is supposed to be updated |
body | body | object | true | none |
ยป updated_title | body | string | true | none |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.assets.v1beta1.UpdateAssetTitleResponse |
400 | Bad Request | Bad input parameters | Inline |
404 | Not Found | Asset not found | Inline |
500 | Internal Server Error | Internal Server Error | Inline |
default | Default | An unexpected error response. | google.rpc.Status |
Response Schema
AuthService
Login
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
r = requests.post('https://mcls-api.mycujoo.tv/auth/v1/login', 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/auth/v1/login", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/auth/v1/login HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"email": "string",
"org_id": "string",
"password": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/auth/v1/login',
{
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",
"password": "string"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/auth/v1/login',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /auth/v1/login
This method performs login into platform account
Body parameter
{
"email": "string",
"org_id": "string",
"password": "string"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | mycujoo.auth.v1.LoginRequest | true | none |
Example responses
200 Response
{
"token": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.auth.v1.LoginResponse |
default | Default | An unexpected error response. | google.rpc.Status |
ListAccountResourceBindings returns list of role bindings for the given account
Basically it shows what is accessible for the given account under what role
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/auth/v1/resource_bindings', params={
'account_id': 'string'
}, 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/auth/v1/resource_bindings", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/auth/v1/resource_bindings?account_id=string 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/auth/v1/resource_bindings?account_id=string',
{
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/auth/v1/resource_bindings?account_id=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /auth/v1/resource_bindings
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
account_id | query | string | true | none |
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
{
"resource_bindings": [
{
"resource": {
"id": "project-1",
"type": "project"
},
"role_id": "owner"
},
{
"resource": {
"id": "yyy",
"type": "event_type"
},
"role_id": "event_types.editor"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.auth.v1.ListAccountResourceBindingsResponse |
default | Default | An unexpected error response. | google.rpc.Status |
ListRoleGroups
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/auth/v1/role_groups', 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/auth/v1/role_groups", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/auth/v1/role_groups 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/auth/v1/role_groups',
{
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/auth/v1/role_groups',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /auth/v1/role_groups
Lists role groups with their roles attached, basically it is a list of roles that are grouped.
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
{
"next_page_token": "string",
"role_groups": [
{
"display_name": "string",
"id": "string",
"roles": [
{
"display_name": "Owner",
"id": "owner",
"permissions": [
"projects.get",
"events.get"
]
}
]
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.auth.v1.ListRoleGroupsResponse |
default | Default | An unexpected error response. | google.rpc.Status |
GetRole
Code samples
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://mcls-api.mycujoo.tv/auth/v1/roles/{role_id}', 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/auth/v1/roles/{role_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/auth/v1/roles/{role_id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/auth/v1/roles/{role_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'
};
fetch('https://mcls-api.mycujoo.tv/auth/v1/roles/{role_id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /auth/v1/roles/{role_id}
returns a Role with permissions assigned to that role
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
role_id | path | string | true | none |
Example responses
200 Response
{
"role": {
"display_name": "Owner",
"id": "owner",
"permissions": [
"projects.get",
"events.get"
]
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.auth.v1.GetRoleResponse |
default | Default | An unexpected error response. | google.rpc.Status |
TestIamPermissions
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/auth/v1/test_iam_permissions', 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/auth/v1/test_iam_permissions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/auth/v1/test_iam_permissions HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/auth/v1/test_iam_permissions',
{
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 = {
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/auth/v1/test_iam_permissions',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /auth/v1/test_iam_permissions
This method validates for the current account given list of permissions. It can be used to modify UI to show/hide certain actions based on account permissions.
Body parameter
{
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | mycujoo.auth.v1.TestIamPermissionsRequest | true | none |
Example responses
200 Response
{
"permissions": [
"projects.create",
"projects.update"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.auth.v1.TestIamPermissionsResponse |
default | Default | An unexpected error response. | google.rpc.Status |
BannersService
UpdateBanner
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
r = requests.patch('https://mcls-api.mycujoo.tv/banners/v1beta1/banner/{banner.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"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "https://mcls-api.mycujoo.tv/banners/v1beta1/banner/{banner.id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH https://mcls-api.mycujoo.tv/banners/v1beta1/banner/{banner.id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"assets": {
"desktop_asset_id": "string",
"mobile_asset_id": "string"
},
"content": {
"button_text": "string",
"primary": "string",
"secondary": "string"
},
"last_update_time": "2019-08-24T14:15:22Z",
"open_in_new_window": true,
"state": "STATE_UNSPECIFIED",
"target_url": "string",
"title": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/banners/v1beta1/banner/{banner.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 = {
"assets": {
"desktop_asset_id": "string",
"mobile_asset_id": "string"
},
"content": {
"button_text": "string",
"primary": "string",
"secondary": "string"
},
"last_update_time": "2019-08-24T14:15:22Z",
"open_in_new_window": true,
"state": "STATE_UNSPECIFIED",
"target_url": "string",
"title": "string"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/banners/v1beta1/banner/{banner.id}',
{
method: 'PATCH',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PATCH /banners/v1beta1/banner/{banner.id}
Update a banner Must pass the last_update_time value from response payload of Get API
Body parameter
{
"assets": {
"desktop_asset_id": "string",
"mobile_asset_id": "string"
},
"content": {
"button_text": "string",
"primary": "string",
"secondary": "string"
},
"last_update_time": "2019-08-24T14:15:22Z",
"open_in_new_window": true,
"state": "STATE_UNSPECIFIED",
"target_url": "string",
"title": "string"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
banner.id | path | string | true | none |
body | body | object | true | none |
ยป assets | body | mycujoo.banners.v1beta1.BannerAssets | false | none |
ยปยป desktop_asset_id | body | string | false | none |
ยปยป mobile_asset_id | body | string | false | none |
ยป content | body | mycujoo.banners.v1beta1.BannerContent | false | none |
ยปยป button_text | body | string | false | none |
ยปยป primary | body | string | false | none |
ยปยป secondary | body | string | false | none |
ยป last_update_time | body | string(date-time) | false | none |
ยป open_in_new_window | body | boolean | false | none |
ยป state | body | mycujoo.banners.v1beta1.Banner.State | false | none |
ยป target_url | body | string | false | none |
ยป title | body | string | false | none |
Enumerated Values
Parameter | Value |
---|---|
ยป state | STATE_UNSPECIFIED |
ยป state | STATE_PUBLISHED |
ยป state | STATE_HIDDEN |
Example responses
200 Response
{
"assets": {
"desktop_asset_id": "string",
"mobile_asset_id": "string"
},
"content": {
"button_text": "string",
"primary": "string",
"secondary": "string"
},
"id": "string",
"last_update_time": "2019-08-24T14:15:22Z",
"open_in_new_window": true,
"state": "STATE_UNSPECIFIED",
"target_url": "string",
"title": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | (empty) | mycujoo.banners.v1beta1.Banner |
default | Default | An unexpected error response. | google.rpc.Status |
DeleteBanner
Code samples
import requests
headers = {
'Accept': 'application/json'
}
r = requests.delete('https://mcls-api.mycujoo.tv/banners/v1beta1/banner/{banner_id}', 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("DELETE", "https://mcls-api.mycujoo.tv/banners/v1beta1/banner/{banner_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE https://mcls-api.mycujoo.tv/banners/v1beta1/banner/{banner_id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/banners/v1beta1/banner/{banner_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'
};
fetch('https://mcls-api.mycujoo.tv/banners/v1beta1/banner/{banner_id}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE /banners/v1beta1/banner/{banner_id}
Delete a banner by its ID
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
banner_id | path | string | true | none |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.banners.v1beta1.DeleteBannerResponse |
default | Default | An unexpected error response. | google.rpc.Status |
ListBannerSets
Code samples
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://mcls-api.mycujoo.tv/banners/v1beta1/banner_sets', 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/banners/v1beta1/banner_sets", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/banners/v1beta1/banner_sets HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/banners/v1beta1/banner_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'
};
fetch('https://mcls-api.mycujoo.tv/banners/v1beta1/banner_sets',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /banners/v1beta1/banner_sets
List banner sets
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
filter | query | string | false | currently support: ids |
order | query | string | false | none |
page_token | query | string | false | none |
page_size | query | integer(int32) | false | none |
Enumerated Values
Parameter | Value |
---|---|
order | ORDER_UNSPECIFIED |
order | ORDER_CREATE_TIME_DESC |
order | ORDER_CREATE_TIME_ASC |
Example responses
200 Response
{
"banner_sets": [
{
"banners_count": 0,
"id": "string",
"last_update_time": "2019-08-24T14:15:22Z",
"title": "string"
}
],
"next_page_token": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.banners.v1beta1.ListBannerSetsResponse |
default | Default | An unexpected error response. | google.rpc.Status |
CreateBannerSet
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
r = requests.post('https://mcls-api.mycujoo.tv/banners/v1beta1/banner_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"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://mcls-api.mycujoo.tv/banners/v1beta1/banner_sets", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/banners/v1beta1/banner_sets HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"id": "string",
"last_update_time": "2019-08-24T14:15:22Z",
"title": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/banners/v1beta1/banner_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 = {
"id": "string",
"last_update_time": "2019-08-24T14:15:22Z",
"title": "string"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/banners/v1beta1/banner_sets',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /banners/v1beta1/banner_sets
Create a new banner set
Body parameter
{
"id": "string",
"last_update_time": "2019-08-24T14:15:22Z",
"title": "string"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | mycujoo.banners.v1beta1.BannerSet | true | none |
Example responses
200 Response
{
"banners_count": 0,
"id": "string",
"last_update_time": "2019-08-24T14:15:22Z",
"title": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | (empty) | mycujoo.banners.v1beta1.BannerSet |
default | Default | An unexpected error response. | google.rpc.Status |
UpdateBannerSet
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
r = requests.patch('https://mcls-api.mycujoo.tv/banners/v1beta1/banner_sets/{banner_set.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"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "https://mcls-api.mycujoo.tv/banners/v1beta1/banner_sets/{banner_set.id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH https://mcls-api.mycujoo.tv/banners/v1beta1/banner_sets/{banner_set.id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"last_update_time": "2019-08-24T14:15:22Z",
"title": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/banners/v1beta1/banner_sets/{banner_set.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 = {
"last_update_time": "2019-08-24T14:15:22Z",
"title": "string"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/banners/v1beta1/banner_sets/{banner_set.id}',
{
method: 'PATCH',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PATCH /banners/v1beta1/banner_sets/{banner_set.id}
Update a banner set Must pass the last_update_time value from response payload of Get API
Body parameter
{
"last_update_time": "2019-08-24T14:15:22Z",
"title": "string"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
banner_set.id | path | string | true | none |
body | body | object | true | none |
ยป banners_count | body | integer(int32) | false | none |
ยป last_update_time | body | string(date-time) | false | none |
ยป title | body | string | false | none |
Example responses
200 Response
{
"banners_count": 0,
"id": "string",
"last_update_time": "2019-08-24T14:15:22Z",
"title": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | (empty) | mycujoo.banners.v1beta1.BannerSet |
default | Default | An unexpected error response. | google.rpc.Status |
GetBannerSet
Code samples
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://mcls-api.mycujoo.tv/banners/v1beta1/banner_sets/{banner_set_id}', 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/banners/v1beta1/banner_sets/{banner_set_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/banners/v1beta1/banner_sets/{banner_set_id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/banners/v1beta1/banner_sets/{banner_set_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'
};
fetch('https://mcls-api.mycujoo.tv/banners/v1beta1/banner_sets/{banner_set_id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /banners/v1beta1/banner_sets/{banner_set_id}
Get one banner by its ID
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
banner_set_id | path | string | true | none |
Example responses
200 Response
{
"banners_count": 0,
"id": "string",
"last_update_time": "2019-08-24T14:15:22Z",
"title": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | (empty) | mycujoo.banners.v1beta1.BannerSet |
default | Default | An unexpected error response. | google.rpc.Status |
DeleteBannerSet
Code samples
import requests
headers = {
'Accept': 'application/json'
}
r = requests.delete('https://mcls-api.mycujoo.tv/banners/v1beta1/banner_sets/{banner_set_id}', 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("DELETE", "https://mcls-api.mycujoo.tv/banners/v1beta1/banner_sets/{banner_set_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE https://mcls-api.mycujoo.tv/banners/v1beta1/banner_sets/{banner_set_id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/banners/v1beta1/banner_sets/{banner_set_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'
};
fetch('https://mcls-api.mycujoo.tv/banners/v1beta1/banner_sets/{banner_set_id}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE /banners/v1beta1/banner_sets/{banner_set_id}
Delete a banner set by its ID
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
banner_set_id | path | string | true | none |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.banners.v1beta1.DeleteBannerSetResponse |
default | Default | An unexpected error response. | google.rpc.Status |
ListAllBannersBySetID
Code samples
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://mcls-api.mycujoo.tv/banners/v1beta1/banner_sets/{banner_set_id}/banners', 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/banners/v1beta1/banner_sets/{banner_set_id}/banners", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/banners/v1beta1/banner_sets/{banner_set_id}/banners HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/banners/v1beta1/banner_sets/{banner_set_id}/banners',
{
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/banners/v1beta1/banner_sets/{banner_set_id}/banners',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /banners/v1beta1/banner_sets/{banner_set_id}/banners
List all banners of a banner set by banner set id
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
banner_set_id | path | string | true | none |
Example responses
200 Response
{
"banners": [
{
"assets": {
"desktop_asset_id": "string",
"mobile_asset_id": "string"
},
"content": {
"button_text": "string",
"primary": "string",
"secondary": "string"
},
"id": "string",
"last_update_time": "2019-08-24T14:15:22Z",
"open_in_new_window": true,
"state": "STATE_UNSPECIFIED",
"target_url": "string",
"title": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.banners.v1beta1.ListAllBannersBySetIDResponse |
default | Default | An unexpected error response. | google.rpc.Status |
EditAllBannersInSet
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
r = requests.put('https://mcls-api.mycujoo.tv/banners/v1beta1/banner_sets/{banner_set_id}/banners', 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("PUT", "https://mcls-api.mycujoo.tv/banners/v1beta1/banner_sets/{banner_set_id}/banners", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT https://mcls-api.mycujoo.tv/banners/v1beta1/banner_sets/{banner_set_id}/banners HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"banner_ids": [
"string"
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/banners/v1beta1/banner_sets/{banner_set_id}/banners',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const inputBody = {
"banner_ids": [
"string"
]
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/banners/v1beta1/banner_sets/{banner_set_id}/banners',
{
method: 'PUT',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT /banners/v1beta1/banner_sets/{banner_set_id}/banners
Edit all banners in a banner set, including add / remove / reorder
Body parameter
{
"banner_ids": [
"string"
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
banner_set_id | path | string | true | none |
body | body | object | true | none |
ยป banner_ids | body | [string] | false | none |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.banners.v1beta1.UpdateBannerSetBannersResponse |
default | Default | An unexpected error response. | google.rpc.Status |
AddBannerToSet
Code samples
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://mcls-api.mycujoo.tv/banners/v1beta1/banner_sets/{banner_set_id}/banners/{banner_id}', 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("POST", "https://mcls-api.mycujoo.tv/banners/v1beta1/banner_sets/{banner_set_id}/banners/{banner_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/banners/v1beta1/banner_sets/{banner_set_id}/banners/{banner_id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/banners/v1beta1/banner_sets/{banner_set_id}/banners/{banner_id}',
{
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'
};
fetch('https://mcls-api.mycujoo.tv/banners/v1beta1/banner_sets/{banner_set_id}/banners/{banner_id}',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /banners/v1beta1/banner_sets/{banner_set_id}/banners/{banner_id}
Add a banner to a banner set New banner will be added to the top
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
banner_set_id | path | string | true | none |
banner_id | path | string | true | none |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.banners.v1beta1.AddBannerToSetResponse |
default | Default | An unexpected error response. | google.rpc.Status |
RemoveBannerFromSet
Code samples
import requests
headers = {
'Accept': 'application/json'
}
r = requests.delete('https://mcls-api.mycujoo.tv/banners/v1beta1/banner_sets/{banner_set_id}/banners/{banner_id}', 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("DELETE", "https://mcls-api.mycujoo.tv/banners/v1beta1/banner_sets/{banner_set_id}/banners/{banner_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE https://mcls-api.mycujoo.tv/banners/v1beta1/banner_sets/{banner_set_id}/banners/{banner_id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/banners/v1beta1/banner_sets/{banner_set_id}/banners/{banner_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'
};
fetch('https://mcls-api.mycujoo.tv/banners/v1beta1/banner_sets/{banner_set_id}/banners/{banner_id}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE /banners/v1beta1/banner_sets/{banner_set_id}/banners/{banner_id}
Remove a banner from a banner set
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
banner_set_id | path | string | true | none |
banner_id | path | string | true | none |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.banners.v1beta1.RemoveBannerFromSetResponse |
default | Default | An unexpected error response. | google.rpc.Status |
ListBanners
Code samples
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://mcls-api.mycujoo.tv/banners/v1beta1/banners', 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/banners/v1beta1/banners", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/banners/v1beta1/banners HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/banners/v1beta1/banners',
{
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/banners/v1beta1/banners',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /banners/v1beta1/banners
List banners
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
filter | query | string | false | currently support: ids, states |
order | query | string | false | none |
page_token | query | string | false | none |
page_size | query | integer(int32) | false | none |
Enumerated Values
Parameter | Value |
---|---|
order | ORDER_UNSPECIFIED |
order | ORDER_CREATE_TIME_DESC |
order | ORDER_CREATE_TIME_ASC |
Example responses
200 Response
{
"banners": [
{
"assets": {
"desktop_asset_id": "string",
"mobile_asset_id": "string"
},
"content": {
"button_text": "string",
"primary": "string",
"secondary": "string"
},
"id": "string",
"last_update_time": "2019-08-24T14:15:22Z",
"open_in_new_window": true,
"state": "STATE_UNSPECIFIED",
"target_url": "string",
"title": "string"
}
],
"next_page_token": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.banners.v1beta1.ListBannersResponse |
default | Default | An unexpected error response. | google.rpc.Status |
CreateBanner
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
r = requests.post('https://mcls-api.mycujoo.tv/banners/v1beta1/banners', 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/banners/v1beta1/banners", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/banners/v1beta1/banners HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"assets": {
"desktop_asset_id": "string",
"mobile_asset_id": "string"
},
"content": {
"button_text": "string",
"primary": "string",
"secondary": "string"
},
"last_update_time": "2019-08-24T14:15:22Z",
"open_in_new_window": true,
"state": "STATE_UNSPECIFIED",
"target_url": "string",
"title": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/banners/v1beta1/banners',
{
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 = {
"assets": {
"desktop_asset_id": "string",
"mobile_asset_id": "string"
},
"content": {
"button_text": "string",
"primary": "string",
"secondary": "string"
},
"last_update_time": "2019-08-24T14:15:22Z",
"open_in_new_window": true,
"state": "STATE_UNSPECIFIED",
"target_url": "string",
"title": "string"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/banners/v1beta1/banners',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /banners/v1beta1/banners
Create a new banner
Body parameter
{
"assets": {
"desktop_asset_id": "string",
"mobile_asset_id": "string"
},
"content": {
"button_text": "string",
"primary": "string",
"secondary": "string"
},
"last_update_time": "2019-08-24T14:15:22Z",
"open_in_new_window": true,
"state": "STATE_UNSPECIFIED",
"target_url": "string",
"title": "string"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | mycujoo.banners.v1beta1.Banner | true | none |
Example responses
200 Response
{
"assets": {
"desktop_asset_id": "string",
"mobile_asset_id": "string"
},
"content": {
"button_text": "string",
"primary": "string",
"secondary": "string"
},
"id": "string",
"last_update_time": "2019-08-24T14:15:22Z",
"open_in_new_window": true,
"state": "STATE_UNSPECIFIED",
"target_url": "string",
"title": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | (empty) | mycujoo.banners.v1beta1.Banner |
default | Default | An unexpected error response. | google.rpc.Status |
GetBanner
Code samples
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://mcls-api.mycujoo.tv/banners/v1beta1/banners/{banner_id}', 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/banners/v1beta1/banners/{banner_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/banners/v1beta1/banners/{banner_id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/banners/v1beta1/banners/{banner_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'
};
fetch('https://mcls-api.mycujoo.tv/banners/v1beta1/banners/{banner_id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /banners/v1beta1/banners/{banner_id}
Get one banner by its ID
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
banner_id | path | string | true | none |
Example responses
200 Response
{
"assets": {
"desktop_asset_id": "string",
"mobile_asset_id": "string"
},
"content": {
"button_text": "string",
"primary": "string",
"secondary": "string"
},
"id": "string",
"last_update_time": "2019-08-24T14:15:22Z",
"open_in_new_window": true,
"state": "STATE_UNSPECIFIED",
"target_url": "string",
"title": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | (empty) | mycujoo.banners.v1beta1.Banner |
default | Default | An unexpected error response. | google.rpc.Status |
ListAllSetsByBannerID
Code samples
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://mcls-api.mycujoo.tv/banners/v1beta1/banners/{banner_id}/banner_sets', 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/banners/v1beta1/banners/{banner_id}/banner_sets", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/banners/v1beta1/banners/{banner_id}/banner_sets HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/banners/v1beta1/banners/{banner_id}/banner_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'
};
fetch('https://mcls-api.mycujoo.tv/banners/v1beta1/banners/{banner_id}/banner_sets',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /banners/v1beta1/banners/{banner_id}/banner_sets
List all banner sets of a banner by banner id
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
banner_id | path | string | true | none |
Example responses
200 Response
{
"banner_sets": [
{
"banners_count": 0,
"id": "string",
"last_update_time": "2019-08-24T14:15:22Z",
"title": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.banners.v1beta1.ListAllSetsByBannerIDResponse |
default | Default | An unexpected error response. | google.rpc.Status |
EntitlementsService
EntitlementsService_UpdateContentProtection2
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.put('https://mcls-api.mycujoo.tv/entitlements/content-protection/v1/{content_reference.type}/{content_reference.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("PUT", "https://mcls-api.mycujoo.tv/entitlements/content-protection/v1/{content_reference.type}/{content_reference.id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT https://mcls-api.mycujoo.tv/entitlements/content-protection/v1/{content_reference.type}/{content_reference.id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"content_reference": {},
"is_protected": true
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/entitlements/content-protection/v1/{content_reference.type}/{content_reference.id}',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const inputBody = {
"content_reference": {},
"is_protected": true
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/entitlements/content-protection/v1/{content_reference.type}/{content_reference.id}',
{
method: 'PUT',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT /entitlements/content-protection/v1/{content_reference.type}/{content_reference.id}
Body parameter
{
"content_reference": {},
"is_protected": true
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
content_reference.type | path | string | true | Type of the content (stream, event or package) |
content_reference.id | path | string | true | ID of the content |
body | body | object | true | none |
ยป content_reference | body | object | false | Content reference. For now only events are supported. |
ยป is_protected | body | boolean | true | none |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.entitlements.v1.UpdateContentProtectionResponse |
default | Default | An unexpected error response. | google.rpc.Status |
EntitlementsService_UpdateContentProtection
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.put('https://mcls-api.mycujoo.tv/entitlements/content-protection/v1beta1/{content_reference.type}/{content_reference.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("PUT", "https://mcls-api.mycujoo.tv/entitlements/content-protection/v1beta1/{content_reference.type}/{content_reference.id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT https://mcls-api.mycujoo.tv/entitlements/content-protection/v1beta1/{content_reference.type}/{content_reference.id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"content_reference": {},
"is_protected": true
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/entitlements/content-protection/v1beta1/{content_reference.type}/{content_reference.id}',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const inputBody = {
"content_reference": {},
"is_protected": true
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/entitlements/content-protection/v1beta1/{content_reference.type}/{content_reference.id}',
{
method: 'PUT',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT /entitlements/content-protection/v1beta1/{content_reference.type}/{content_reference.id}
Body parameter
{
"content_reference": {},
"is_protected": true
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
content_reference.type | path | string | true | Type of the content (stream, event or package) |
content_reference.id | path | string | true | ID of the content |
body | body | object | true | none |
ยป content_reference | body | object | false | Content reference. For now only events are supported. |
ยป is_protected | body | boolean | true | none |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.entitlements.v1.UpdateContentProtectionResponse |
default | Default | An unexpected error response. | google.rpc.Status |
ListEntitlements returns list of user and content_reference pairs that match specified filters
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/entitlements/v1', params={
'page_size': '0', 'content_reference.type': 'string', 'content_reference.id': 'string', 'origin.type': 'string', 'origin.id': 'string'
}, 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/entitlements/v1", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/entitlements/v1?page_size=0&content_reference%2Etype=string&content_reference%2Eid=string&origin%2Etype=string&origin%2Eid=string 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/entitlements/v1?page_size=0&content_reference%2Etype=string&content_reference%2Eid=string&origin%2Etype=string&origin%2Eid=string',
{
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/entitlements/v1?page_size=0&content_reference%2Etype=string&content_reference%2Eid=string&origin%2Etype=string&origin%2Eid=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /entitlements/v1
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
page_size | query | integer(int32) | true | Maximum number of records to return |
page_token | query | string | false | The pagination token in the list request. |
identity_id | query | string | false | Filters entitlements by identity id |
content_reference.type | query | string | true | Type of the content (stream, event or package) |
content_reference.id | query | string | true | ID of the content |
origin.type | query | string | true | Origin type (i.e. 'payment'). |
origin.id | query | string | true | ID of the event that is the reason for the entitlement. |
expiration_time_start | query | string(date-time) | false | none |
expiration_time_end | query | string(date-time) | false | none |
filter | query | string | false | Filters on Entitlement Fields. |
Detailed descriptions
filter: Filters on Entitlement Fields.
Available filters:
content_reference.type:
Example responses
200 Response
{
"entitlements": [
{
"concurrency_limit": "string",
"content_reference": {
"id": "string",
"type": "string"
},
"expiration_time": "2019-08-24T14:15:22Z",
"identity_id": "string",
"origin": {
"id": "string",
"type": "string"
}
}
],
"next_page_token": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.entitlements.v1.ListEntitlementsResponse |
default | Default | An unexpected error response. | google.rpc.Status |
CheckEntitlement returns boolean to indicate if user has access to specific content
Code samples
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://mcls-api.mycujoo.tv/entitlements/v1/{identity_id}/{content_reference.type}/{content_reference.id}', 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/entitlements/v1/{identity_id}/{content_reference.type}/{content_reference.id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/entitlements/v1/{identity_id}/{content_reference.type}/{content_reference.id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/entitlements/v1/{identity_id}/{content_reference.type}/{content_reference.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'
};
fetch('https://mcls-api.mycujoo.tv/entitlements/v1/{identity_id}/{content_reference.type}/{content_reference.id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /entitlements/v1/{identity_id}/{content_reference.type}/{content_reference.id}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
identity_id | path | string | true | ID of the identity |
content_reference.type | path | string | true | Type of the content (stream, event or package) |
content_reference.id | path | string | true | ID of the content |
Example responses
200 Response
{
"is_entitled": true
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.entitlements.v1.CheckEntitlementResponse |
default | Default | An unexpected error response. | google.rpc.Status |
UpsertEntitlement updates entitlement in the service if it already exists or creates new one if it doesn't.
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.put('https://mcls-api.mycujoo.tv/entitlements/v1beta1/{identity_id}/{content_reference.type}/{content_reference.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("PUT", "https://mcls-api.mycujoo.tv/entitlements/v1beta1/{identity_id}/{content_reference.type}/{content_reference.id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT https://mcls-api.mycujoo.tv/entitlements/v1beta1/{identity_id}/{content_reference.type}/{content_reference.id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"concurrency_limit": "string",
"content_reference": {},
"expiration_time": "2019-08-24T14:15:22Z",
"origin": {
"id": "string",
"type": "string"
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/entitlements/v1beta1/{identity_id}/{content_reference.type}/{content_reference.id}',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const inputBody = {
"concurrency_limit": "string",
"content_reference": {},
"expiration_time": "2019-08-24T14:15:22Z",
"origin": {
"id": "string",
"type": "string"
}
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/entitlements/v1beta1/{identity_id}/{content_reference.type}/{content_reference.id}',
{
method: 'PUT',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT /entitlements/v1beta1/{identity_id}/{content_reference.type}/{content_reference.id}
Body parameter
{
"concurrency_limit": "string",
"content_reference": {},
"expiration_time": "2019-08-24T14:15:22Z",
"origin": {
"id": "string",
"type": "string"
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
identity_id | path | string | true | ID of the identity (could be either user id, token id or any id identifying |
content_reference.type | path | string | true | Type of the content (stream, event or package) |
content_reference.id | path | string | true | ID of the content |
body | body | object | true | none |
ยป concurrency_limit | body | string(int64) | false | Concurrency limit for the entitlement. 0 means no limit. |
ยป content_reference | body | object | false | none |
ยป expiration_time | body | string(date-time) | false | Time when entitlement expires and identity lose access to the content. 0 means never expires. |
ยป origin | body | mycujoo.entitlements.v1.Origin | false | Preceding event that is the reason for the content to be entitled (for instance, payment). |
ยปยป id | body | string | true | ID of the event that is the reason for the entitlement. |
ยปยป type | body | string | true | Origin type (i.e. 'payment'). |
Detailed descriptions
identity_id: ID of the identity (could be either user id, token id or any id identifying single entity that is entitled to the content)
ยป concurrency_limit: Concurrency limit for the entitlement. 0 means no limit. It is defined at the entitlement level, not at the content level because there could be multiple entitlements for the same content with different limits. If limit is reached - oldest playback session will be closed.
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.entitlements.v1.UpsertEntitlementResponse |
default | Default | An unexpected error response. | google.rpc.Status |
DeleteEntitlement removes entitlement from the service
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.delete('https://mcls-api.mycujoo.tv/entitlements/v1beta1/{identity_id}/{content_reference.type}/{content_reference.id}', params={
'origin.type': 'string', 'origin.id': 'string'
}, 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/entitlements/v1beta1/{identity_id}/{content_reference.type}/{content_reference.id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE https://mcls-api.mycujoo.tv/entitlements/v1beta1/{identity_id}/{content_reference.type}/{content_reference.id}?origin%2Etype=string&origin%2Eid=string 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/entitlements/v1beta1/{identity_id}/{content_reference.type}/{content_reference.id}?origin%2Etype=string&origin%2Eid=string',
{
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/entitlements/v1beta1/{identity_id}/{content_reference.type}/{content_reference.id}?origin%2Etype=string&origin%2Eid=string',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE /entitlements/v1beta1/{identity_id}/{content_reference.type}/{content_reference.id}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
identity_id | path | string | true | ID of the identity |
content_reference.type | path | string | true | Type of the content (stream, event or package) |
content_reference.id | path | string | true | ID of the content |
origin.type | query | string | true | Origin type (i.e. 'payment'). |
origin.id | query | string | true | ID of the event that is the reason for the entitlement. |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.entitlements.v1.DeleteEntitlementResponse |
default | Default | An unexpected error response. | google.rpc.Status |
EventService
List events
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/events/v1', params={
'page_size': '0'
}, 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/events/v1", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/events/v1?page_size=0 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/events/v1?page_size=0',
{
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/events/v1?page_size=0',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /events/v1
By passing in the appropriate options, you can search for available events in the system
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
order_by | query | string | false | Specifies the result ordering for List requests. |
order_by_meta_field | query | string | false | Specifies the result ordering for List requests by metadata fields. |
page_size | query | integer(int32) | true | Maximum number of records to return |
page_token | query | string | false | The pagination token in the List request. |
status | query | array[string] | false | Filter results by event status |
includes | query | array[string] | false | Specifies what response metadata should include. |
stream_ids | query | array[string] | false | Filter results by events that contain specified stream ids |
filter | query | string | false | Filter results against metadata fields by one or more conditions that must |
start_time_from | query | string(date-time) | false | Filter results by event start_time range |
start_time_to | query | string(date-time) | false | Filter results by event start_time range |
project_id | query | string | false | ID of the Project to list events for |
labels[string] | query | string | false | This is a request variable of the map type. The query format is "map_name[key]=value", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age["bob"]=18 |
Detailed descriptions
order_by: Specifies the result ordering for List requests. Can't be used together with order_by_meta_field
- ORDER_UNSPECIFIED: When order is unspecified it internally defaults to date descending
- ORDER_DATE_ASC: Results sorted by date ascending
- ORDER_DATE_DESC: Results sorted by date descending
order_by_meta_field: Specifies the result ordering for List requests by metadata fields. Supported format is "{filter}:{order}", eq "teamHome:ASC". Only root level fields of metadata are supported Can't be used together with order_by
status: Filter results by event status
- EVENT_STATUS_UNSPECIFIED: The default value for event status. In real world it will always be specified.
- EVENT_STATUS_SCHEDULED: Initial status for created event. It's when event will happend in the future and the date is known.
- EVENT_STATUS_RESCHEDULED: When the event was rescheduled and the future date is known.
- EVENT_STATUS_CANCELLED: When the event is cancelled and is not going to happen.
- EVENT_STATUS_POSTPONED: When the event is rescheduled but the future date is not known yet.
- EVENT_STATUS_DELAYED: When the event is still going to happen around defined start date but is delayed by some amount of time.
- EVENT_STATUS_STARTED: When the event has started and is live.
- EVENT_STATUS_PAUSED: When the event has paused.
- EVENT_STATUS_SUSPENDED: When the event is suspended and it's not yet known if it's going to happen in the future.
- EVENT_STATUS_FINISHED: When the event has finished and is no longer live.
includes: Specifies what response metadata should include. e.g. when 'INCLUDE_TOTAL_SIZE' is passed, response will include total size of the result
- INCLUDE_TOTAL_SIZE: When included, response will contain metadata about total number of available results irrespective of pagination
filter: Filter results against metadata fields by one or more conditions that must be satisfied for an event to be returned (case-sensitive) Filter syntax is a list of terms separated by space. Each term includes field name and value separated by colon. You can filter results using top level field from metadata. For example: "?filter=competition_id:1lgyUErZ7TZEbUasQ4hA5u1LL95%20home_team_id:1lgycVo5SGYaFXqVliOg4LrcTun"
Enumerated Values
Parameter | Value |
---|---|
order_by | ORDER_UNSPECIFIED |
order_by | ORDER_DATE_ASC |
order_by | ORDER_DATE_DESC |
status | EVENT_STATUS_UNSPECIFIED |
status | EVENT_STATUS_SCHEDULED |
status | EVENT_STATUS_RESCHEDULED |
status | EVENT_STATUS_CANCELLED |
status | EVENT_STATUS_POSTPONED |
status | EVENT_STATUS_DELAYED |
status | EVENT_STATUS_STARTED |
status | EVENT_STATUS_PAUSED |
status | EVENT_STATUS_SUSPENDED |
status | EVENT_STATUS_FINISHED |
includes | INCLUDE_UNSPECIFIED |
includes | INCLUDE_TOTAL_SIZE |
Example responses
200 Response
{
"events": [
{
"id": "ck9poahb1000601laar5w4dfd",
"title": "2020 MyCujoo Champions League Final"
}
],
"next_page_token": "string",
"previous_page_token": "string",
"total_size": 0
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.events.v1.ListResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Create event
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/events/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/events/v1", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/events/v1 HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"content_visibility": "CONTENT_VISIBILITY_UNSPECIFIED",
"description": "string",
"is_test": true,
"labels": {
"property1": "string",
"property2": "string"
},
"location": {
"online": "string",
"physical": {
"city": "Amsterdam",
"continent_code": "EU",
"country_code": "NL",
"venue": "Johan Cruijff ArenA"
}
},
"metadata": {
"data": {},
"schema_id": "string"
},
"organiser": "string",
"poster_asset_id": "string",
"poster_url": "string",
"project_id": "string",
"start_time": "2019-08-24T14:15:22Z",
"thumbnail_asset_id": "string",
"thumbnail_url": "string",
"timezone": "string",
"title": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/events/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 = {
"content_visibility": "CONTENT_VISIBILITY_UNSPECIFIED",
"description": "string",
"is_test": true,
"labels": {
"property1": "string",
"property2": "string"
},
"location": {
"online": "string",
"physical": {
"city": "Amsterdam",
"continent_code": "EU",
"country_code": "NL",
"venue": "Johan Cruijff ArenA"
}
},
"metadata": {
"data": {},
"schema_id": "string"
},
"organiser": "string",
"poster_asset_id": "string",
"poster_url": "string",
"project_id": "string",
"start_time": "2019-08-24T14:15:22Z",
"thumbnail_asset_id": "string",
"thumbnail_url": "string",
"timezone": "string",
"title": "string"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/events/v1',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /events/v1
Adds an event to the system
Body parameter
{
"content_visibility": "CONTENT_VISIBILITY_UNSPECIFIED",
"description": "string",
"is_test": true,
"labels": {
"property1": "string",
"property2": "string"
},
"location": {
"online": "string",
"physical": {
"city": "Amsterdam",
"continent_code": "EU",
"country_code": "NL",
"venue": "Johan Cruijff ArenA"
}
},
"metadata": {
"data": {},
"schema_id": "string"
},
"organiser": "string",
"poster_asset_id": "string",
"poster_url": "string",
"project_id": "string",
"start_time": "2019-08-24T14:15:22Z",
"thumbnail_asset_id": "string",
"thumbnail_url": "string",
"timezone": "string",
"title": "string"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | mycujoo.events.v1.CreateRequest | true | none |
Example responses
200 Response
{
"id": "ck9poahb1000601laar5w4dfd",
"title": "2020 MyCujoo Champions League Final"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Event that was created | mycujoo.events.v1.Event |
default | Default | An unexpected error response. | google.rpc.Status |
TestIamPermissions
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/events/v1/test_iam_permissions', 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/events/v1/test_iam_permissions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/events/v1/test_iam_permissions HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/events/v1/test_iam_permissions',
{
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 = {
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/events/v1/test_iam_permissions',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /events/v1/test_iam_permissions
This method validates for the current account given list of permissions. It can be used to modify UI to show/hide certain actions based on account permissions.
Body parameter
{
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | mycujoo.events.v1.TestIamPermissionsRequest | true | none |
Example responses
200 Response
{
"permissions": [
"projects.create",
"projects.update"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.events.v1.TestIamPermissionsResponse |
default | Default | An unexpected error response. | google.rpc.Status |
GetIamPolicy
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/events/v1/{event_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": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://mcls-api.mycujoo.tv/events/v1/{event_id}/iam_policy", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/events/v1/{event_id}/iam_policy 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/events/v1/{event_id}/iam_policy',
{
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/events/v1/{event_id}/iam_policy',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /events/v1/{event_id}/iam_policy
Returns current IAM policy for the event. Use returned policy and etag to update policy.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
event_id | path | string | true | none |
Example responses
200 Response
{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
},
"resource_hierarchy": [
{
"id": "elevendata",
"type": "project"
}
],
"resource_title": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.events.v1.GetIamPolicyResponse |
default | Default | An unexpected error response. | google.rpc.Status |
SetIamPolicy
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/events/v1/{event_id}/iam_policy', 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/events/v1/{event_id}/iam_policy", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/events/v1/{event_id}/iam_policy HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/events/v1/{event_id}/iam_policy',
{
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 = {
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
}
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/events/v1/{event_id}/iam_policy',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /events/v1/{event_id}/iam_policy
Set IAM policy for the event. This method replaces all existing policy bindings for the event. To prevent overwriting existing policy bindings that were written concurrently, use the etag field to perform a read-modify-write operation. For example: Making a new account to become an event editor would require reading IAM Policy for the event, add a new binding or update existing binding with role_id: events.editor, and then set the new policy with etag returned by GetIamPolicy.
Body parameter
{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
event_id | path | string | true | none |
body | body | object | true | none |
ยป etag | body | string(byte) | false | none |
ยป policy | body | mycujoo.auth.v1.Policy | true | Authorization policy. |
ยปยป bindings | body | [mycujoo.auth.v1.Binding] | false | List of bindings to the policy. If empty, the policy will not have any effect. |
ยปยปยป account_ids | body | [string] | false | List of account identifiers (referencing mycujoo.accounts.v1.Account ) that have the role. |
ยปยปยป include_all_organization_accounts | body | boolean | false | If this is set to true then the role is granted to all accounts in the organization. It overrides the account_ids field. |
ยปยปยป role_id | body | string | false | none |
Detailed descriptions
ยปยป bindings: List of bindings to the policy. If empty, the policy will not have any effect. Total number of accounts referenced in the bindings should be up to 1500. If same account has multiple roles - it is counted multiple times.
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.events.v1.SetIamPolicyResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Add stream to event
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/events/v1/{event_id}/stream/{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("POST", "https://mcls-api.mycujoo.tv/events/v1/{event_id}/stream/{stream_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/events/v1/{event_id}/stream/{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/events/v1/{event_id}/stream/{stream_id}',
{
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/events/v1/{event_id}/stream/{stream_id}',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /events/v1/{event_id}/stream/{stream_id}
Adds stream to an event
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
event_id | path | string | true | none |
stream_id | path | string | true | none |
Example responses
200 Response
{
"event_id": "string",
"stream_id": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.events.v1.AddStreamResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Remove stream from event
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.delete('https://mcls-api.mycujoo.tv/events/v1/{event_id}/stream/{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("DELETE", "https://mcls-api.mycujoo.tv/events/v1/{event_id}/stream/{stream_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE https://mcls-api.mycujoo.tv/events/v1/{event_id}/stream/{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/events/v1/{event_id}/stream/{stream_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/events/v1/{event_id}/stream/{stream_id}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE /events/v1/{event_id}/stream/{stream_id}
Removes stream from an event
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
event_id | path | string | true | none |
stream_id | path | string | true | none |
Example responses
200 Response
{
"event_id": "string",
"stream_id": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.events.v1.RemoveStreamResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Add timeline to event
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/events/v1/{event_id}/timeline/{timeline_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("POST", "https://mcls-api.mycujoo.tv/events/v1/{event_id}/timeline/{timeline_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/events/v1/{event_id}/timeline/{timeline_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/events/v1/{event_id}/timeline/{timeline_id}',
{
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/events/v1/{event_id}/timeline/{timeline_id}',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /events/v1/{event_id}/timeline/{timeline_id}
Adds timeline to an event
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
event_id | path | string | true | none |
timeline_id | path | string | true | none |
Example responses
200 Response
{
"event_id": "string",
"timeline_id": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.events.v1.AddTimelineResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Remove timeline from event
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.delete('https://mcls-api.mycujoo.tv/events/v1/{event_id}/timeline/{timeline_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/events/v1/{event_id}/timeline/{timeline_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE https://mcls-api.mycujoo.tv/events/v1/{event_id}/timeline/{timeline_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/events/v1/{event_id}/timeline/{timeline_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/events/v1/{event_id}/timeline/{timeline_id}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE /events/v1/{event_id}/timeline/{timeline_id}
Removes timeline from an event
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
event_id | path | string | true | none |
timeline_id | path | string | true | none |
Example responses
200 Response
{
"event_id": "string",
"timeline_id": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.events.v1.RemoveTimelineResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Get event
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/events/v1/{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/events/v1/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/events/v1/{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/events/v1/{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/events/v1/{id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /events/v1/{id}
Gets event for a specific account by ID
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | ID of the event to retrieve |
Example responses
200 Response
{
"id": "ck9poahb1000601laar5w4dfd",
"title": "2020 MyCujoo Champions League Final"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | If found it will contain event | mycujoo.events.v1.Event |
default | Default | An unexpected error response. | google.rpc.Status |
Delete event
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.delete('https://mcls-api.mycujoo.tv/events/v1/{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/events/v1/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE https://mcls-api.mycujoo.tv/events/v1/{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/events/v1/{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/events/v1/{id}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE /events/v1/{id}
Gets event for a specific account by ID
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | Resource ID that should be deleted |
Example responses
200 Response
{
"id": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.events.v1.DeleteResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Update event
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.patch('https://mcls-api.mycujoo.tv/events/v1/{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/events/v1/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH https://mcls-api.mycujoo.tv/events/v1/{id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"content_visibility": "CONTENT_VISIBILITY_UNSPECIFIED",
"description": "string",
"is_test": true,
"labels": {
"property1": "string",
"property2": "string"
},
"location": {
"online": "string",
"physical": {
"city": "Amsterdam",
"continent_code": "EU",
"country_code": "NL",
"venue": "Johan Cruijff ArenA"
}
},
"metadata": {
"data": {},
"schema_id": "string"
},
"organiser": "string",
"poster_asset_id": "string",
"poster_url": "string",
"start_time": "2019-08-24T14:15:22Z",
"status": "EVENT_STATUS_UNSPECIFIED",
"thumbnail_asset_id": "string",
"thumbnail_url": "string",
"timezone": "string",
"title": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/events/v1/{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 = {
"content_visibility": "CONTENT_VISIBILITY_UNSPECIFIED",
"description": "string",
"is_test": true,
"labels": {
"property1": "string",
"property2": "string"
},
"location": {
"online": "string",
"physical": {
"city": "Amsterdam",
"continent_code": "EU",
"country_code": "NL",
"venue": "Johan Cruijff ArenA"
}
},
"metadata": {
"data": {},
"schema_id": "string"
},
"organiser": "string",
"poster_asset_id": "string",
"poster_url": "string",
"start_time": "2019-08-24T14:15:22Z",
"status": "EVENT_STATUS_UNSPECIFIED",
"thumbnail_asset_id": "string",
"thumbnail_url": "string",
"timezone": "string",
"title": "string"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/events/v1/{id}',
{
method: 'PATCH',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PATCH /events/v1/{id}
Updates an event in the system
Body parameter
{
"content_visibility": "CONTENT_VISIBILITY_UNSPECIFIED",
"description": "string",
"is_test": true,
"labels": {
"property1": "string",
"property2": "string"
},
"location": {
"online": "string",
"physical": {
"city": "Amsterdam",
"continent_code": "EU",
"country_code": "NL",
"venue": "Johan Cruijff ArenA"
}
},
"metadata": {
"data": {},
"schema_id": "string"
},
"organiser": "string",
"poster_asset_id": "string",
"poster_url": "string",
"start_time": "2019-08-24T14:15:22Z",
"status": "EVENT_STATUS_UNSPECIFIED",
"thumbnail_asset_id": "string",
"thumbnail_url": "string",
"timezone": "string",
"title": "string"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | ID of the event |
body | body | mycujoo.events.v1.UpdateRequestFields | true | Fields to update |
Example responses
200 Response
{
"id": "ck9poahb1000601laar5w4dfd",
"title": "2020 MyCujoo Champions League Final"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | (empty) | mycujoo.events.v1.Event |
default | Default | An unexpected error response. | google.rpc.Status |
GeofenceService
Create stores geoblocking settings against specified content_reference
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
r = requests.post('https://mcls-api.mycujoo.tv/geofence/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"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://mcls-api.mycujoo.tv/geofence/v1", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/geofence/v1 HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"allow": {
"country_codes": [
"string"
]
},
"content_reference": {
"id": "string",
"type": "string"
},
"disallow": {
"country_codes": [
"string"
]
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/geofence/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 = {
"allow": {
"country_codes": [
"string"
]
},
"content_reference": {
"id": "string",
"type": "string"
},
"disallow": {
"country_codes": [
"string"
]
}
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/geofence/v1',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /geofence/v1
Body parameter
{
"allow": {
"country_codes": [
"string"
]
},
"content_reference": {
"id": "string",
"type": "string"
},
"disallow": {
"country_codes": [
"string"
]
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | mycujoo.geofence.v1.CreateRequest | true | none |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.geofence.v1.CreateResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Get returns geoblocking settings for specified content_reference
Code samples
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://mcls-api.mycujoo.tv/geofence/v1/{content_reference.type}/{content_reference.id}', 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/geofence/v1/{content_reference.type}/{content_reference.id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/geofence/v1/{content_reference.type}/{content_reference.id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/geofence/v1/{content_reference.type}/{content_reference.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'
};
fetch('https://mcls-api.mycujoo.tv/geofence/v1/{content_reference.type}/{content_reference.id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /geofence/v1/{content_reference.type}/{content_reference.id}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
content_reference.type | path | string | true | Type of the content (stream or package) |
content_reference.id | path | string | true | ID of the content |
Example responses
200 Response
{
"allow": {
"country_codes": [
"string"
]
},
"disallow": {
"country_codes": [
"string"
]
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Information about geoblocking for the subject | mycujoo.geofence.v1.Geoblocking |
default | Default | An unexpected error response. | google.rpc.Status |
Delete removes geoblocking settings from specified content_reference
Code samples
import requests
headers = {
'Accept': 'application/json'
}
r = requests.delete('https://mcls-api.mycujoo.tv/geofence/v1/{content_reference.type}/{content_reference.id}', 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("DELETE", "https://mcls-api.mycujoo.tv/geofence/v1/{content_reference.type}/{content_reference.id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE https://mcls-api.mycujoo.tv/geofence/v1/{content_reference.type}/{content_reference.id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/geofence/v1/{content_reference.type}/{content_reference.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'
};
fetch('https://mcls-api.mycujoo.tv/geofence/v1/{content_reference.type}/{content_reference.id}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE /geofence/v1/{content_reference.type}/{content_reference.id}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
content_reference.type | path | string | true | Type of the content (stream or package) |
content_reference.id | path | string | true | ID of the content |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.geofence.v1.DeleteResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Update updates geoblocking settings against specified content_reference
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
r = requests.patch('https://mcls-api.mycujoo.tv/geofence/v1/{content_reference.type}/{content_reference.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"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "https://mcls-api.mycujoo.tv/geofence/v1/{content_reference.type}/{content_reference.id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH https://mcls-api.mycujoo.tv/geofence/v1/{content_reference.type}/{content_reference.id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"allow": {
"country_codes": [
"string"
]
},
"disallow": {
"country_codes": [
"string"
]
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/geofence/v1/{content_reference.type}/{content_reference.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 = {
"allow": {
"country_codes": [
"string"
]
},
"disallow": {
"country_codes": [
"string"
]
}
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/geofence/v1/{content_reference.type}/{content_reference.id}',
{
method: 'PATCH',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PATCH /geofence/v1/{content_reference.type}/{content_reference.id}
Body parameter
{
"allow": {
"country_codes": [
"string"
]
},
"disallow": {
"country_codes": [
"string"
]
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
content_reference.type | path | string | true | Type of the content (stream or package) |
content_reference.id | path | string | true | ID of the content |
body | body | mycujoo.geofence.v1.Geoblocking | true | Information about geoblocking for the subject |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.geofence.v1.UpdateResponse |
default | Default | An unexpected error response. | google.rpc.Status |
IdentityService
IdentityService_ListIdentities
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/identity/v1/identities', params={
'provider': 'PROVIDER_TYPE_UNSPECIFIED', 'tenant_id': 'string'
}, 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/identity/v1/identities", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/identity/v1/identities?provider=PROVIDER_TYPE_UNSPECIFIED&tenant_id=string 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/identity/v1/identities?provider=PROVIDER_TYPE_UNSPECIFIED&tenant_id=string',
{
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/identity/v1/identities?provider=PROVIDER_TYPE_UNSPECIFIED&tenant_id=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /identity/v1/identities
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
provider | query | string | true | Identity provider to use: auth0 or userfront |
tenant_id | query | string | true | Provider's tenant id, e.g. Auth0's domain |
filter | query | string | false | Filters by name or email using KQL-like syntax; e.g. name:foo or email:bar. |
page_token | query | string | false | Page token |
Detailed descriptions
filter: Filters by name or email using KQL-like syntax; e.g. name:foo or email:bar. Supported fields: name, email. Supported operator: ":" (equals). Wildcards are supported.
Enumerated Values
Parameter | Value |
---|---|
provider | PROVIDER_TYPE_UNSPECIFIED |
provider | PROVIDER_TYPE_AUTH0 |
provider | PROVIDER_TYPE_USERFRONT |
Example responses
200 Response
{
"identities": [
{
"create_time": "2019-08-24T14:15:22Z",
"email": "string",
"id": "string",
"name": "string",
"provider": "PROVIDER_TYPE_UNSPECIFIED",
"tenant_id": "string"
}
],
"next_page_token": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.identity.v1.ListIdentitiesResponse |
default | Default | An unexpected error response. | google.rpc.Status |
GetIdentity retrieves identity information for a given identity_id from configured identity providers.
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/identity/v1/identities/{identity_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/identity/v1/identities/{identity_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/identity/v1/identities/{identity_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/identity/v1/identities/{identity_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/identity/v1/identities/{identity_id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /identity/v1/identities/{identity_id}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
identity_id | path | string | true | Third party identity (user) identifier |
Example responses
200 Response
{
"create_time": "2019-08-24T14:15:22Z",
"email": "string",
"id": "string",
"name": "string",
"provider": "PROVIDER_TYPE_UNSPECIFIED",
"tenant_id": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | (empty) | mycujoo.identity.v1.Identity |
default | Default | An unexpected error response. | google.rpc.Status |
IdentityService_ListProviders
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/identity/v1/providers', 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/identity/v1/providers", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/identity/v1/providers 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/identity/v1/providers',
{
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/identity/v1/providers',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /identity/v1/providers
Example responses
200 Response
{
"providers": [
{
"tenant_id": "string",
"type": "PROVIDER_TYPE_UNSPECIFIED"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.identity.v1.ListProvidersResponse |
default | Default | An unexpected error response. | google.rpc.Status |
ListAuth0Integrations returns list of configurations for the Auth0 provider
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/identity/v1/providers/auth0', 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/identity/v1/providers/auth0", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/identity/v1/providers/auth0 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/identity/v1/providers/auth0',
{
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/identity/v1/providers/auth0',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /identity/v1/providers/auth0
Example responses
200 Response
{
"integrations": [
{
"domain": "string",
"management_webhook_url": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.identity.v1.ListAuth0IntegrationsResponse |
default | Default | An unexpected error response. | google.rpc.Status |
UpsertAuth0Integration inserts or updates Auth0 integration options for given domain
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.put('https://mcls-api.mycujoo.tv/identity/v1/providers/auth0/{domain}', 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("PUT", "https://mcls-api.mycujoo.tv/identity/v1/providers/auth0/{domain}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT https://mcls-api.mycujoo.tv/identity/v1/providers/auth0/{domain} HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"credentials": {
"client_id": "string",
"client_secret": "string"
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/identity/v1/providers/auth0/{domain}',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const inputBody = {
"credentials": {
"client_id": "string",
"client_secret": "string"
}
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/identity/v1/providers/auth0/{domain}',
{
method: 'PUT',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT /identity/v1/providers/auth0/{domain}
Body parameter
{
"credentials": {
"client_id": "string",
"client_secret": "string"
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
domain | path | string | true | ID corresponding to organization on identity provider service, it should be those included to JWT |
body | body | object | true | none |
ยป credentials | body | mycujoo.identity.v1.Auth0APICredentials | false | none |
ยปยป client_id | body | string | false | Client ID of the application that will be used to access users API, could be found in application settings. |
ยปยป client_secret | body | string | false | Client secret users API accessing application, could be found in application settings under "Credentials" tab. |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.identity.v1.UpsertAuth0IntegrationResponse |
default | Default | An unexpected error response. | google.rpc.Status |
ListUserfrontIntegrations returns list of configurations for the Userfront provider
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/identity/v1/providers/userfront', 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/identity/v1/providers/userfront", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/identity/v1/providers/userfront 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/identity/v1/providers/userfront',
{
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/identity/v1/providers/userfront',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /identity/v1/providers/userfront
Example responses
200 Response
{
"integrations": [
{
"admin_role_id": "string",
"public_key": "string",
"tenant_id": "string",
"tester_role_id": "string",
"user_delete_webhook_url": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.identity.v1.ListUserfrontIntegrationsResponse |
default | Default | An unexpected error response. | google.rpc.Status |
UpsertUserfrontIntegration inserts or updates UserFront integration options for given tenant_id
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.put('https://mcls-api.mycujoo.tv/identity/v1/providers/userfront/{tenant_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("PUT", "https://mcls-api.mycujoo.tv/identity/v1/providers/userfront/{tenant_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT https://mcls-api.mycujoo.tv/identity/v1/providers/userfront/{tenant_id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"admin_role_id": "string",
"api_key": "string",
"public_key": "string",
"tester_role_id": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/identity/v1/providers/userfront/{tenant_id}',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const inputBody = {
"admin_role_id": "string",
"api_key": "string",
"public_key": "string",
"tester_role_id": "string"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/identity/v1/providers/userfront/{tenant_id}',
{
method: 'PUT',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT /identity/v1/providers/userfront/{tenant_id}
Body parameter
{
"admin_role_id": "string",
"api_key": "string",
"public_key": "string",
"tester_role_id": "string"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
tenant_id | path | string | true | ID corresponding to organization on identity provider service, it should be those included to JWT |
body | body | object | true | none |
ยป admin_role_id | body | string | true | none |
ยป api_key | body | string | false | none |
ยป public_key | body | string | true | none |
ยป tester_role_id | body | string | true | none |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.identity.v1.UpsertUserfrontIntegrationResponse |
default | Default | An unexpected error response. | google.rpc.Status |
CreateIdentityToken is used to generate identity token that can be shared through untrusted environments
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/identity/v1/tokens', 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/identity/v1/tokens", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/identity/v1/tokens HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"identity_id": "string",
"is_admin": true,
"is_test_identity": true
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/identity/v1/tokens',
{
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 = {
"identity_id": "string",
"is_admin": true,
"is_test_identity": true
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/identity/v1/tokens',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /identity/v1/tokens
Body parameter
{
"identity_id": "string",
"is_admin": true,
"is_test_identity": true
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | mycujoo.identity.v1.CreateIdentityTokenRequest | true | none |
Example responses
200 Response
{
"token": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.identity.v1.CreateIdentityTokenResponse |
default | Default | An unexpected error response. | google.rpc.Status |
IntegrationsService
List
Returns list of integrations
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/integrations/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/integrations/v1beta1", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/integrations/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/integrations/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/integrations/v1beta1',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /integrations/v1beta1
Returns list of integrations
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
order_by | query | string | false | Specifies the result ordering |
page_size | query | integer(int32) | false | Maximum number of records to return |
page_token | query | string | false | The pagination token used for cursor pagination |
Detailed descriptions
order_by: Specifies the result ordering
- ORDER_CREATE_TIME_ASC: Results sorted by create time ascending
- ORDER_CREATE_TIME_DESC: Results sorted by create time descending
Enumerated Values
Parameter | Value |
---|---|
order_by | ORDER_UNSPECIFIED |
order_by | ORDER_CREATE_TIME_ASC |
order_by | ORDER_CREATE_TIME_DESC |
Example responses
200 Response
{
"integrations": [
{
"create_time": "2019-08-24T14:15:22Z",
"id": "string",
"source": "SOURCE_UNSPECIFIED",
"target": {
"google_cloud_pub_sub": {
"project_id": "string",
"service_account_json": "string",
"topic_id": "string"
},
"webhook": {
"headers": {
"authorization": "Basic YWxhZGRpbjpvcGVuc2VzYW1l"
},
"params": {
"src": "mcls"
},
"url": "https://domain.com/events"
}
}
}
],
"next_page_token": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.integrations.v1beta1.ListResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Create
Creates integration
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/integrations/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/integrations/v1beta1", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/integrations/v1beta1 HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"source": "SOURCE_UNSPECIFIED",
"target": {
"google_cloud_pub_sub": {
"project_id": "string",
"service_account_json": "string",
"topic_id": "string"
},
"webhook": {
"headers": {
"authorization": "Basic YWxhZGRpbjpvcGVuc2VzYW1l"
},
"params": {
"src": "mcls"
},
"url": "https://domain.com/events"
}
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/integrations/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 = {
"source": "SOURCE_UNSPECIFIED",
"target": {
"google_cloud_pub_sub": {
"project_id": "string",
"service_account_json": "string",
"topic_id": "string"
},
"webhook": {
"headers": {
"authorization": "Basic YWxhZGRpbjpvcGVuc2VzYW1l"
},
"params": {
"src": "mcls"
},
"url": "https://domain.com/events"
}
}
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/integrations/v1beta1',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /integrations/v1beta1
Creates integration
Body parameter
{
"source": "SOURCE_UNSPECIFIED",
"target": {
"google_cloud_pub_sub": {
"project_id": "string",
"service_account_json": "string",
"topic_id": "string"
},
"webhook": {
"headers": {
"authorization": "Basic YWxhZGRpbjpvcGVuc2VzYW1l"
},
"params": {
"src": "mcls"
},
"url": "https://domain.com/events"
}
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | mycujoo.integrations.v1beta1.CreateRequest | true | none |
Example responses
200 Response
{
"create_time": "2019-08-24T14:15:22Z",
"id": "string",
"source": "SOURCE_UNSPECIFIED",
"target": {
"google_cloud_pub_sub": {
"project_id": "string",
"service_account_json": "string",
"topic_id": "string"
},
"webhook": {
"headers": {
"authorization": "Basic YWxhZGRpbjpvcGVuc2VzYW1l"
},
"params": {
"src": "mcls"
},
"url": "https://domain.com/events"
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | (empty) | mycujoo.integrations.v1beta1.Integration |
default | Default | An unexpected error response. | google.rpc.Status |
Get
Returns integration with given id
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/integrations/v1beta1/{integration_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/integrations/v1beta1/{integration_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/integrations/v1beta1/{integration_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/integrations/v1beta1/{integration_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/integrations/v1beta1/{integration_id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /integrations/v1beta1/{integration_id}
Returns integration with given id
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
integration_id | path | string | true | ID of the integration |
Example responses
200 Response
{
"create_time": "2019-08-24T14:15:22Z",
"id": "string",
"source": "SOURCE_UNSPECIFIED",
"target": {
"google_cloud_pub_sub": {
"project_id": "string",
"service_account_json": "string",
"topic_id": "string"
},
"webhook": {
"headers": {
"authorization": "Basic YWxhZGRpbjpvcGVuc2VzYW1l"
},
"params": {
"src": "mcls"
},
"url": "https://domain.com/events"
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | (empty) | mycujoo.integrations.v1beta1.Integration |
default | Default | An unexpected error response. | google.rpc.Status |
Delete
Removes integration with given id
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.delete('https://mcls-api.mycujoo.tv/integrations/v1beta1/{integration_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/integrations/v1beta1/{integration_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE https://mcls-api.mycujoo.tv/integrations/v1beta1/{integration_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/integrations/v1beta1/{integration_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/integrations/v1beta1/{integration_id}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE /integrations/v1beta1/{integration_id}
Removes integration with given id
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
integration_id | path | string | true | ID of the integration |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.integrations.v1beta1.DeleteResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Update
Updates integration with given id
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.patch('https://mcls-api.mycujoo.tv/integrations/v1beta1/{integration_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/integrations/v1beta1/{integration_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH https://mcls-api.mycujoo.tv/integrations/v1beta1/{integration_id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"source": "SOURCE_UNSPECIFIED",
"target": {
"google_cloud_pub_sub": {
"project_id": "string",
"service_account_json": "string",
"topic_id": "string"
},
"webhook": {
"headers": {
"authorization": "Basic YWxhZGRpbjpvcGVuc2VzYW1l"
},
"params": {
"src": "mcls"
},
"url": "https://domain.com/events"
}
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/integrations/v1beta1/{integration_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 = {
"source": "SOURCE_UNSPECIFIED",
"target": {
"google_cloud_pub_sub": {
"project_id": "string",
"service_account_json": "string",
"topic_id": "string"
},
"webhook": {
"headers": {
"authorization": "Basic YWxhZGRpbjpvcGVuc2VzYW1l"
},
"params": {
"src": "mcls"
},
"url": "https://domain.com/events"
}
}
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/integrations/v1beta1/{integration_id}',
{
method: 'PATCH',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PATCH /integrations/v1beta1/{integration_id}
Updates integration with given id
Body parameter
{
"source": "SOURCE_UNSPECIFIED",
"target": {
"google_cloud_pub_sub": {
"project_id": "string",
"service_account_json": "string",
"topic_id": "string"
},
"webhook": {
"headers": {
"authorization": "Basic YWxhZGRpbjpvcGVuc2VzYW1l"
},
"params": {
"src": "mcls"
},
"url": "https://domain.com/events"
}
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
integration_id | path | string | true | ID of the integration |
body | body | mycujoo.integrations.v1beta1.UpdateRequest.UpdateFields | true | Fields to update |
Example responses
200 Response
{
"create_time": "2019-08-24T14:15:22Z",
"id": "string",
"source": "SOURCE_UNSPECIFIED",
"target": {
"google_cloud_pub_sub": {
"project_id": "string",
"service_account_json": "string",
"topic_id": "string"
},
"webhook": {
"headers": {
"authorization": "Basic YWxhZGRpbjpvcGVuc2VzYW1l"
},
"params": {
"src": "mcls"
},
"url": "https://domain.com/events"
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | (empty) | mycujoo.integrations.v1beta1.Integration |
default | Default | An unexpected error response. | google.rpc.Status |
MetadataService
New Data
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
r = requests.post('https://mcls-api.mycujoo.tv/metadata/v1/data', 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/metadata/v1/data", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/metadata/v1/data HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"data": {
"competitionName": {
"string": "Champions League"
},
"team": {
"name": "Legia Warsaw",
"players": [
"Marek Saganowski"
]
},
"title": "Final 2020"
},
"schema_id": "1do8zuDeZKfh2YSgzd2ek69jhOY"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/metadata/v1/data',
{
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 = {
"data": {
"competitionName": {
"string": "Champions League"
},
"team": {
"name": "Legia Warsaw",
"players": [
"Marek Saganowski"
]
},
"title": "Final 2020"
},
"schema_id": "1do8zuDeZKfh2YSgzd2ek69jhOY"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/metadata/v1/data',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /metadata/v1/data
This method allows you to store data in the system after is successfully validated against provided schema id
Body parameter
{
"data": {
"competitionName": {
"string": "Champions League"
},
"team": {
"name": "Legia Warsaw",
"players": [
"Marek Saganowski"
]
},
"title": "Final 2020"
},
"schema_id": "1do8zuDeZKfh2YSgzd2ek69jhOY"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | mycujoo.metadata.v1.CreateDataRequest | true | none |
Example responses
200 Response
{
"data": {
"competitionName": {
"string": "Champions League"
},
"team": {
"name": "Legia Warsaw",
"players": [
"Marek Saganowski"
]
},
"title": "Final 2020"
},
"id": "ck9be30x30lnk1cmsengq2tq2"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.metadata.v1.CreateDataResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Get Data
Code samples
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://mcls-api.mycujoo.tv/metadata/v1/data/{id}', 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/metadata/v1/data/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/metadata/v1/data/{id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/metadata/v1/data/{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'
};
fetch('https://mcls-api.mycujoo.tv/metadata/v1/data/{id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /metadata/v1/data/{id}
Returns data that matches specified id
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | ID of the data |
Example responses
200 Response
{
"data": {
"competitionName": {
"string": "Champions League"
},
"team": {
"name": "Legia Warsaw",
"players": [
"Marek Saganowski"
]
},
"title": "Final 2020"
},
"schema_id": "1do8zuDeZKfh2YSgzd2ek69jhOY"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.metadata.v1.GetDataResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Delete Data
Code samples
import requests
headers = {
'Accept': 'application/json'
}
r = requests.delete('https://mcls-api.mycujoo.tv/metadata/v1/data/{id}', 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("DELETE", "https://mcls-api.mycujoo.tv/metadata/v1/data/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE https://mcls-api.mycujoo.tv/metadata/v1/data/{id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/metadata/v1/data/{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'
};
fetch('https://mcls-api.mycujoo.tv/metadata/v1/data/{id}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE /metadata/v1/data/{id}
Removes data that matches specified id
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | ID of data to delete |
Example responses
200 Response
{
"id": "ck9be30x30lnk1cmsengq2tq2"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.metadata.v1.DeleteDataResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Update Data
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
r = requests.patch('https://mcls-api.mycujoo.tv/metadata/v1/data/{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"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "https://mcls-api.mycujoo.tv/metadata/v1/data/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH https://mcls-api.mycujoo.tv/metadata/v1/data/{id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"data": {},
"schema_id": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/metadata/v1/data/{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": {},
"schema_id": "string"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/metadata/v1/data/{id}',
{
method: 'PATCH',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PATCH /metadata/v1/data/{id}
Updates data that is stored in the system by specified id
Body parameter
{
"data": {},
"schema_id": "string"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | ID of the data |
body | body | mycujoo.metadata.v1.UpdateDataRequest.UpdateFields | true | none |
Example responses
200 Response
{
"data": {
"competitionName": {
"string": "Champions League"
},
"team": {
"name": "Legia Warsaw",
"players": [
"Marek Saganowski"
]
},
"title": "Final 2020"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.metadata.v1.UpdateDataResponse |
default | Default | An unexpected error response. | google.rpc.Status |
List Schemas
Code samples
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://mcls-api.mycujoo.tv/metadata/v1/schemas', params={
'order_by': 'ORDER_UNSPECIFIED'
}, 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/metadata/v1/schemas", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/metadata/v1/schemas?order_by=ORDER_UNSPECIFIED HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/metadata/v1/schemas?order_by=ORDER_UNSPECIFIED',
{
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/metadata/v1/schemas?order_by=ORDER_UNSPECIFIED',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /metadata/v1/schemas
Lists all the schemas that are owned by specific organization.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
order_by | query | string | true | Specifies the result ordering for List requests |
page_size | query | integer(int32) | false | Maximum number of records to return. Defaults to 100 |
page_token | query | string | false | The pagination token in the List request. |
visibilities | query | array[string] | false | none |
resource_types | query | array[string] | false | none |
Detailed descriptions
order_by: Specifies the result ordering for List requests
- ORDER_UNSPECIFIED: When order is unspecified it defaults to creation time descending
- ORDER_CREATED_AT_ASC: Results sorted by creation time ascending
- ORDER_CREATED_AT_DESC: Results sorted by creation time descending
- ORDER_ALPHABETICAL_ASC: Results sorted by title from A-Z
- ORDER_ALPHABETICAL_DESC: Results sorted by title from Z-A
Enumerated Values
Parameter | Value |
---|---|
order_by | ORDER_UNSPECIFIED |
order_by | ORDER_CREATED_AT_ASC |
order_by | ORDER_CREATED_AT_DESC |
order_by | ORDER_ALPHABETICAL_ASC |
order_by | ORDER_ALPHABETICAL_DESC |
visibilities | SCHEMA_VISIBILITY_UNSPECIFIED |
visibilities | SCHEMA_VISIBILITY_PUBLISHED |
visibilities | SCHEMA_VISIBILITY_UNLISTED |
visibilities | SCHEMA_VISIBILITY_HIDDEN |
resource_types | SCHEMA_RESOURCE_TYPE_UNSPECIFIED |
resource_types | SCHEMA_RESOURCE_TYPE_EVENT_TYPE |
resource_types | SCHEMA_RESOURCE_TYPE_ACTION |
Example responses
200 Response
{
"schemas": [
{
"id": "1do8zuDeZKfh2YSgzd2ek69jhOY",
"title": "test schema"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.metadata.v1.ListSchemasResponse |
default | Default | An unexpected error response. | google.rpc.Status |
New Schema
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
r = requests.post('https://mcls-api.mycujoo.tv/metadata/v1/schemas', 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/metadata/v1/schemas", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/metadata/v1/schemas HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"custom_editor_url": "string",
"fields": [
{}
],
"indexable_paths": [
"string"
],
"resource_type": "SCHEMA_RESOURCE_TYPE_UNSPECIFIED",
"searchable_paths": [
"string"
],
"title": "string",
"visibility": "SCHEMA_VISIBILITY_UNSPECIFIED"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/metadata/v1/schemas',
{
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 = {
"custom_editor_url": "string",
"fields": [
{}
],
"indexable_paths": [
"string"
],
"resource_type": "SCHEMA_RESOURCE_TYPE_UNSPECIFIED",
"searchable_paths": [
"string"
],
"title": "string",
"visibility": "SCHEMA_VISIBILITY_UNSPECIFIED"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/metadata/v1/schemas',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /metadata/v1/schemas
This method allows you to store schema in the system. This schema needs to contain title and valid AVRO fields.
Body parameter
{
"custom_editor_url": "string",
"fields": [
{}
],
"indexable_paths": [
"string"
],
"resource_type": "SCHEMA_RESOURCE_TYPE_UNSPECIFIED",
"searchable_paths": [
"string"
],
"title": "string",
"visibility": "SCHEMA_VISIBILITY_UNSPECIFIED"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | mycujoo.metadata.v1.Schema | true | none |
Example responses
200 Response
{
"id": "ck9be30x30lnk1cmsengq2tq2"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.metadata.v1.CreateSchemaResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Get Schema
Code samples
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://mcls-api.mycujoo.tv/metadata/v1/schemas/{id}', 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/metadata/v1/schemas/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/metadata/v1/schemas/{id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/metadata/v1/schemas/{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'
};
fetch('https://mcls-api.mycujoo.tv/metadata/v1/schemas/{id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /metadata/v1/schemas/{id}
Returns schema that matches specified id
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | ID of the schema |
Example responses
200 Response
{
"schema": {
"fields": [
{
"name": "title",
"type": "string"
},
{
"name": "competitionName",
"type": [
"null",
"string"
]
},
{
"name": "team",
"type": {
"fields": [
{
"name": "name",
"type": "string"
},
{
"name": "players",
"type": {
"default": [],
"items": "string",
"type": "array"
}
}
],
"name": "recordTeam",
"type": "record"
}
}
],
"id": "1do8zuDeZKfh2YSgzd2ek69jhOY",
"title": "test schema"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.metadata.v1.GetSchemaResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Delete Schema
Code samples
import requests
headers = {
'Accept': 'application/json'
}
r = requests.delete('https://mcls-api.mycujoo.tv/metadata/v1/schemas/{id}', 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("DELETE", "https://mcls-api.mycujoo.tv/metadata/v1/schemas/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE https://mcls-api.mycujoo.tv/metadata/v1/schemas/{id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/metadata/v1/schemas/{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'
};
fetch('https://mcls-api.mycujoo.tv/metadata/v1/schemas/{id}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE /metadata/v1/schemas/{id}
Removes schema that matches specified id
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | ID of the schema to delete |
Example responses
200 Response
{
"id": "ck9be30x30lnk1cmsengq2tq2"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.metadata.v1.DeleteSchemaResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Update Schema
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
r = requests.patch('https://mcls-api.mycujoo.tv/metadata/v1/schemas/{schema.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"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "https://mcls-api.mycujoo.tv/metadata/v1/schemas/{schema.id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH https://mcls-api.mycujoo.tv/metadata/v1/schemas/{schema.id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"custom_editor_url": "string",
"fields": [
{}
],
"indexable_paths": [
"string"
],
"resource_type": "SCHEMA_RESOURCE_TYPE_UNSPECIFIED",
"searchable_paths": [
"string"
],
"title": "string",
"visibility": "SCHEMA_VISIBILITY_UNSPECIFIED"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/metadata/v1/schemas/{schema.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 = {
"custom_editor_url": "string",
"fields": [
{}
],
"indexable_paths": [
"string"
],
"resource_type": "SCHEMA_RESOURCE_TYPE_UNSPECIFIED",
"searchable_paths": [
"string"
],
"title": "string",
"visibility": "SCHEMA_VISIBILITY_UNSPECIFIED"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/metadata/v1/schemas/{schema.id}',
{
method: 'PATCH',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PATCH /metadata/v1/schemas/{schema.id}
Updates schema that matches specified id
Body parameter
{
"custom_editor_url": "string",
"fields": [
{}
],
"indexable_paths": [
"string"
],
"resource_type": "SCHEMA_RESOURCE_TYPE_UNSPECIFIED",
"searchable_paths": [
"string"
],
"title": "string",
"visibility": "SCHEMA_VISIBILITY_UNSPECIFIED"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
schema.id | path | string | true | ID of the schema |
body | body | object | true | Schema fields which need to be updated |
ยป custom_editor_url | body | string | false | none |
ยป fields | body | [object] | false | none |
ยป indexable_paths | body | [string] | false | none |
ยป resource_type | body | mycujoo.metadata.v1.SchemaResourceType | false | none |
ยป searchable_paths | body | [string] | false | none |
ยป title | body | string | false | none |
ยป visibility | body | mycujoo.metadata.v1.SchemaVisibility | false | none |
Enumerated Values
Parameter | Value |
---|---|
ยป resource_type | SCHEMA_RESOURCE_TYPE_UNSPECIFIED |
ยป resource_type | SCHEMA_RESOURCE_TYPE_EVENT_TYPE |
ยป resource_type | SCHEMA_RESOURCE_TYPE_ACTION |
ยป visibility | SCHEMA_VISIBILITY_UNSPECIFIED |
ยป visibility | SCHEMA_VISIBILITY_PUBLISHED |
ยป visibility | SCHEMA_VISIBILITY_UNLISTED |
ยป visibility | SCHEMA_VISIBILITY_HIDDEN |
Example responses
200 Response
{
"custom_editor_url": "string",
"fields": [
{}
],
"id": "string",
"indexable_paths": [
"string"
],
"resource_type": "SCHEMA_RESOURCE_TYPE_UNSPECIFIED",
"searchable_paths": [
"string"
],
"title": "string",
"visibility": "SCHEMA_VISIBILITY_UNSPECIFIED"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Updated schema | mycujoo.metadata.v1.Schema |
default | Default | An unexpected error response. | google.rpc.Status |
GetSchemaIamPolicy
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/metadata/v1/schemas/{schema_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": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://mcls-api.mycujoo.tv/metadata/v1/schemas/{schema_id}/iam_policy", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/metadata/v1/schemas/{schema_id}/iam_policy 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/metadata/v1/schemas/{schema_id}/iam_policy',
{
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/metadata/v1/schemas/{schema_id}/iam_policy',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /metadata/v1/schemas/{schema_id}/iam_policy
Returns current IAM policy for the schema. Use returned policy and etag to update policy.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
schema_id | path | string | true | none |
Example responses
200 Response
{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
},
"resource_hierarchy": [
{
"id": "elevendata",
"type": "project"
}
],
"resource_title": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.metadata.v1.GetSchemaIamPolicyResponse |
default | Default | An unexpected error response. | google.rpc.Status |
SetSchemaIamPolicy
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/metadata/v1/schemas/{schema_id}/iam_policy', 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/metadata/v1/schemas/{schema_id}/iam_policy", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/metadata/v1/schemas/{schema_id}/iam_policy HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/metadata/v1/schemas/{schema_id}/iam_policy',
{
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 = {
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
}
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/metadata/v1/schemas/{schema_id}/iam_policy',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /metadata/v1/schemas/{schema_id}/iam_policy
Set IAM policy for the schema. This method replaces all existing policy bindings for the schema. To prevent overwriting existing policy bindings that were written concurrently, use the etag field to perform a read-modify-write operation.
Body parameter
{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
schema_id | path | string | true | none |
body | body | object | true | none |
ยป etag | body | string(byte) | false | none |
ยป policy | body | mycujoo.auth.v1.Policy | true | Authorization policy. |
ยปยป bindings | body | [mycujoo.auth.v1.Binding] | false | List of bindings to the policy. If empty, the policy will not have any effect. |
ยปยปยป account_ids | body | [string] | false | List of account identifiers (referencing mycujoo.accounts.v1.Account ) that have the role. |
ยปยปยป include_all_organization_accounts | body | boolean | false | If this is set to true then the role is granted to all accounts in the organization. It overrides the account_ids field. |
ยปยปยป role_id | body | string | false | none |
Detailed descriptions
ยปยป bindings: List of bindings to the policy. If empty, the policy will not have any effect. Total number of accounts referenced in the bindings should be up to 1500. If same account has multiple roles - it is counted multiple times.
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.metadata.v1.SetSchemaIamPolicyResponse |
default | Default | An unexpected error response. | google.rpc.Status |
TestIamPermissions
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/metadata/v1/test_iam_permissions', 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/metadata/v1/test_iam_permissions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/metadata/v1/test_iam_permissions HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/metadata/v1/test_iam_permissions',
{
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 = {
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/metadata/v1/test_iam_permissions',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /metadata/v1/test_iam_permissions
This method validates the current account given a list of permissions. Used for UI
Body parameter
{
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | mycujoo.metadata.v1.TestIamPermissionsRequest | true | none |
Example responses
200 Response
{
"permissions": [
"projects.create",
"projects.update"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.metadata.v1.TestIamPermissionsResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Adds data to the system
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
r = requests.post('https://mcls-api.mycujoo.tv/metadata/v1beta1/data', 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/metadata/v1beta1/data", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/metadata/v1beta1/data HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"data": {
"competitionName": {
"string": "Champions League"
},
"team": {
"name": "Legia Warsaw",
"players": [
"Marek Saganowski"
]
},
"title": "Final 2020"
},
"schema_id": "1do8zuDeZKfh2YSgzd2ek69jhOY"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/metadata/v1beta1/data',
{
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 = {
"data": {
"competitionName": {
"string": "Champions League"
},
"team": {
"name": "Legia Warsaw",
"players": [
"Marek Saganowski"
]
},
"title": "Final 2020"
},
"schema_id": "1do8zuDeZKfh2YSgzd2ek69jhOY"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/metadata/v1beta1/data',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /metadata/v1beta1/data
This method allows you to store data in the system after is successfully validated against provided schema id
Body parameter
{
"data": {
"competitionName": {
"string": "Champions League"
},
"team": {
"name": "Legia Warsaw",
"players": [
"Marek Saganowski"
]
},
"title": "Final 2020"
},
"schema_id": "1do8zuDeZKfh2YSgzd2ek69jhOY"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | mycujoo.metadata.v1beta1.CreateDataRequest | true | none |
Example responses
200 Response
{
"data": {
"competitionName": {
"string": "Champions League"
},
"team": {
"name": "Legia Warsaw",
"players": [
"Marek Saganowski"
]
},
"title": "Final 2020"
},
"id": "ck9be30x30lnk1cmsengq2tq2"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.metadata.v1beta1.CreateDataResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Gets data from the system by specified id
Code samples
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://mcls-api.mycujoo.tv/metadata/v1beta1/data/{id}', 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/metadata/v1beta1/data/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/metadata/v1beta1/data/{id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/metadata/v1beta1/data/{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'
};
fetch('https://mcls-api.mycujoo.tv/metadata/v1beta1/data/{id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /metadata/v1beta1/data/{id}
Returns data that matches specified id
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | ID of the data |
Example responses
200 Response
{
"data": {
"competitionName": {
"string": "Champions League"
},
"team": {
"name": "Legia Warsaw",
"players": [
"Marek Saganowski"
]
},
"title": "Final 2020"
},
"schema_id": "1do8zuDeZKfh2YSgzd2ek69jhOY"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.metadata.v1beta1.GetDataResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Removes data from the system
Code samples
import requests
headers = {
'Accept': 'application/json'
}
r = requests.delete('https://mcls-api.mycujoo.tv/metadata/v1beta1/data/{id}', 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("DELETE", "https://mcls-api.mycujoo.tv/metadata/v1beta1/data/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE https://mcls-api.mycujoo.tv/metadata/v1beta1/data/{id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/metadata/v1beta1/data/{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'
};
fetch('https://mcls-api.mycujoo.tv/metadata/v1beta1/data/{id}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE /metadata/v1beta1/data/{id}
Removes data that matches specified id
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | ID of data to delete |
Example responses
200 Response
{
"id": "ck9be30x30lnk1cmsengq2tq2"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.metadata.v1beta1.DeleteDataResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Updates data in the system
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
r = requests.patch('https://mcls-api.mycujoo.tv/metadata/v1beta1/data/{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"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "https://mcls-api.mycujoo.tv/metadata/v1beta1/data/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH https://mcls-api.mycujoo.tv/metadata/v1beta1/data/{id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"data": {},
"schema_id": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/metadata/v1beta1/data/{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": {},
"schema_id": "string"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/metadata/v1beta1/data/{id}',
{
method: 'PATCH',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PATCH /metadata/v1beta1/data/{id}
Updates data that is stored in the system by specified id
Body parameter
{
"data": {},
"schema_id": "string"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | ID of the data |
body | body | mycujoo.metadata.v1beta1.UpdateDataRequest.UpdateFields | true | none |
Example responses
200 Response
{
"data": {
"competitionName": {
"string": "Champions League"
},
"team": {
"name": "Legia Warsaw",
"players": [
"Marek Saganowski"
]
},
"title": "Final 2020"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.metadata.v1beta1.UpdateDataResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Gets all the schemas for a specific organization
Code samples
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://mcls-api.mycujoo.tv/metadata/v1beta1/schemas', params={
'order_by': 'ORDER_UNSPECIFIED'
}, 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/metadata/v1beta1/schemas", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/metadata/v1beta1/schemas?order_by=ORDER_UNSPECIFIED HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/metadata/v1beta1/schemas?order_by=ORDER_UNSPECIFIED',
{
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/metadata/v1beta1/schemas?order_by=ORDER_UNSPECIFIED',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /metadata/v1beta1/schemas
Lists all the schemas that are owned by specific organization.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
order_by | query | string | true | Specifies the result ordering for List requests |
page_size | query | integer(int32) | false | Maximum number of records to return. Defaults to 100 |
page_token | query | string | false | The pagination token in the List request. |
category | query | string | false | Category to filter by |
Detailed descriptions
order_by: Specifies the result ordering for List requests
- ORDER_UNSPECIFIED: When order is unspecified it defaults to creation time descending
- ORDER_CREATED_AT_ASC: Results sorted by creation time ascending
- ORDER_CREATED_AT_DESC: Results sorted by creation time descending
- ORDER_ALPHABETICAL_ASC: Results sorted by title from A-Z
- ORDER_ALPHABETICAL_DESC: Results sorted by title from Z-A
Enumerated Values
Parameter | Value |
---|---|
order_by | ORDER_UNSPECIFIED |
order_by | ORDER_CREATED_AT_ASC |
order_by | ORDER_CREATED_AT_DESC |
order_by | ORDER_ALPHABETICAL_ASC |
order_by | ORDER_ALPHABETICAL_DESC |
Example responses
200 Response
{
"schemas": [
{
"id": "1do8zuDeZKfh2YSgzd2ek69jhOY",
"title": "test schema"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.metadata.v1beta1.ListSchemasResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Adds schema to the system
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
r = requests.post('https://mcls-api.mycujoo.tv/metadata/v1beta1/schemas', 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/metadata/v1beta1/schemas", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/metadata/v1beta1/schemas HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"fields": [
{
"name": "title",
"type": "string"
},
{
"name": "competitionName",
"type": [
"null",
"string"
]
},
{
"name": "team",
"type": {
"fields": [
{
"name": "name",
"type": "string"
},
{
"name": "players",
"type": {
"default": [],
"items": "string",
"type": "array"
}
}
],
"name": "recordTeam",
"type": "record"
}
}
],
"title": "test schema"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/metadata/v1beta1/schemas',
{
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 = {
"fields": [
{
"name": "title",
"type": "string"
},
{
"name": "competitionName",
"type": [
"null",
"string"
]
},
{
"name": "team",
"type": {
"fields": [
{
"name": "name",
"type": "string"
},
{
"name": "players",
"type": {
"default": [],
"items": "string",
"type": "array"
}
}
],
"name": "recordTeam",
"type": "record"
}
}
],
"title": "test schema"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/metadata/v1beta1/schemas',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /metadata/v1beta1/schemas
This method allows you to store schema in the system. This schema needs to contain title and valid AVRO fields.
Body parameter
{
"fields": [
{
"name": "title",
"type": "string"
},
{
"name": "competitionName",
"type": [
"null",
"string"
]
},
{
"name": "team",
"type": {
"fields": [
{
"name": "name",
"type": "string"
},
{
"name": "players",
"type": {
"default": [],
"items": "string",
"type": "array"
}
}
],
"name": "recordTeam",
"type": "record"
}
}
],
"title": "test schema"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | mycujoo.metadata.v1beta1.CreateSchemaRequest | true | none |
Example responses
200 Response
{
"id": "ck9be30x30lnk1cmsengq2tq2"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.metadata.v1beta1.CreateSchemaResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Gets schema from the system by specified id
Code samples
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://mcls-api.mycujoo.tv/metadata/v1beta1/schemas/{id}', 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/metadata/v1beta1/schemas/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/metadata/v1beta1/schemas/{id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/metadata/v1beta1/schemas/{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'
};
fetch('https://mcls-api.mycujoo.tv/metadata/v1beta1/schemas/{id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /metadata/v1beta1/schemas/{id}
Returns schema that matches specified id
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | ID of the schema |
Example responses
200 Response
{
"schema": {
"fields": [
{
"name": "title",
"type": "string"
},
{
"name": "competitionName",
"type": [
"null",
"string"
]
},
{
"name": "team",
"type": {
"fields": [
{
"name": "name",
"type": "string"
},
{
"name": "players",
"type": {
"default": [],
"items": "string",
"type": "array"
}
}
],
"name": "recordTeam",
"type": "record"
}
}
],
"id": "1do8zuDeZKfh2YSgzd2ek69jhOY",
"title": "test schema"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.metadata.v1beta1.GetSchemaResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Removes schema from the system
Code samples
import requests
headers = {
'Accept': 'application/json'
}
r = requests.delete('https://mcls-api.mycujoo.tv/metadata/v1beta1/schemas/{id}', 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("DELETE", "https://mcls-api.mycujoo.tv/metadata/v1beta1/schemas/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE https://mcls-api.mycujoo.tv/metadata/v1beta1/schemas/{id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/metadata/v1beta1/schemas/{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'
};
fetch('https://mcls-api.mycujoo.tv/metadata/v1beta1/schemas/{id}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE /metadata/v1beta1/schemas/{id}
Removes schema that matches specified id
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | ID of the schema to delete |
Example responses
200 Response
{
"id": "ck9be30x30lnk1cmsengq2tq2"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.metadata.v1beta1.DeleteSchemaResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Updates schema in the system by specified id
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
r = requests.patch('https://mcls-api.mycujoo.tv/metadata/v1beta1/schemas/{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"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "https://mcls-api.mycujoo.tv/metadata/v1beta1/schemas/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH https://mcls-api.mycujoo.tv/metadata/v1beta1/schemas/{id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"fields": [
{
"name": "title",
"type": "string"
}
],
"title": "Final 2021"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/metadata/v1beta1/schemas/{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": [
{
"name": "title",
"type": "string"
}
],
"title": "Final 2021"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/metadata/v1beta1/schemas/{id}',
{
method: 'PATCH',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PATCH /metadata/v1beta1/schemas/{id}
Updates schema that matches specified id
Body parameter
{
"fields": [
{
"name": "title",
"type": "string"
}
],
"title": "Final 2021"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | ID of the schema |
body | body | mycujoo.metadata.v1beta1.UpdateSchemaRequest.UpdateFields | true | none |
Example responses
200 Response
{
"category": "string",
"fields": [
{}
],
"id": "string",
"title": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Updated schema | mycujoo.metadata.v1beta1.Schema |
default | Default | An unexpected error response. | google.rpc.Status |
OrganizationsService
CreateOrganization
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
r = requests.post('https://mcls-api.mycujoo.tv/organizations/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"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://mcls-api.mycujoo.tv/organizations/v1", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/organizations/v1 HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"display_name": "string",
"org_id": "string",
"owner": {
"email": "string",
"first_name": "string",
"last_name": "string"
},
"owner_password": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/organizations/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 = {
"display_name": "string",
"org_id": "string",
"owner": {
"email": "string",
"first_name": "string",
"last_name": "string"
},
"owner_password": "string"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/organizations/v1',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /organizations/v1
Creates a new organization. It requires information about primary account. We will also create a default project for the organization.
Body parameter
{
"display_name": "string",
"org_id": "string",
"owner": {
"email": "string",
"first_name": "string",
"last_name": "string"
},
"owner_password": "string"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | mycujoo.organizations.v1.CreateOrganizationRequest | true | none |
Example responses
200 Response
{
"organization": {
"content_delivery_settings": {
"embed_domains": [
"string"
],
"public_keys": [
"string"
]
},
"display_name": "string",
"id": "string",
"is_enabled": true,
"owner_id": "string"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.organizations.v1.CreateOrganizationResponse |
default | Default | An unexpected error response. | google.rpc.Status |
OrganizationsService_TestIamPermissions
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/organizations/v1/test_iam_permissions', 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/organizations/v1/test_iam_permissions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/organizations/v1/test_iam_permissions HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/organizations/v1/test_iam_permissions',
{
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 = {
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/organizations/v1/test_iam_permissions',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /organizations/v1/test_iam_permissions
Body parameter
{
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | mycujoo.organizations.v1.TestIamPermissionsRequest | true | none |
Example responses
200 Response
{
"permissions": [
"projects.create",
"projects.update"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.organizations.v1.TestIamPermissionsResponse |
default | Default | An unexpected error response. | google.rpc.Status |
GetOrganization
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/organizations/v1/{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/organizations/v1/{org_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/organizations/v1/{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/organizations/v1/{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/organizations/v1/{org_id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /organizations/v1/{org_id}
Will return information about existing organization.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
org_id | path | string | true | none |
Example responses
200 Response
{
"organization": {
"content_delivery_settings": {
"embed_domains": [
"string"
],
"public_keys": [
"string"
]
},
"display_name": "string",
"id": "string",
"is_enabled": true,
"owner_id": "string"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.organizations.v1.GetOrganizationResponse |
default | Default | An unexpected error response. | google.rpc.Status |
UpdateOrganization
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.patch('https://mcls-api.mycujoo.tv/organizations/v1/{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/organizations/v1/{org_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH https://mcls-api.mycujoo.tv/organizations/v1/{org_id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"display_name": "string",
"embed_domains": [
"string"
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/organizations/v1/{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 = {
"display_name": "string",
"embed_domains": [
"string"
]
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/organizations/v1/{org_id}',
{
method: 'PATCH',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PATCH /organizations/v1/{org_id}
This method will update some organization fields like display name or embed domains.
Body parameter
{
"display_name": "string",
"embed_domains": [
"string"
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
org_id | path | string | true | ID of the organization to be updated, must be the same as in the request JWT token |
body | body | mycujoo.organizations.v1.OrganizationUpdateFields | true | Fields to update |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.organizations.v1.UpdateOrganizationResponse |
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/organizations/v1/{org_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": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://mcls-api.mycujoo.tv/organizations/v1/{org_id}/iam_policy", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/organizations/v1/{org_id}/iam_policy 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/organizations/v1/{org_id}/iam_policy',
{
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/organizations/v1/{org_id}/iam_policy',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /organizations/v1/{org_id}/iam_policy
Returns current IAM policy for the organization. Use returned policy and etag to update policy.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
org_id | path | string | true | none |
Example responses
200 Response
{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
},
"resource_hierarchy": [
{
"id": "elevendata",
"type": "project"
}
],
"resource_title": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.organizations.v1.GetIamPolicyResponse |
default | Default | An unexpected error response. | google.rpc.Status |
SetIamPolicy
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/organizations/v1/{org_id}/iam_policy', 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/organizations/v1/{org_id}/iam_policy", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/organizations/v1/{org_id}/iam_policy HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/organizations/v1/{org_id}/iam_policy',
{
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 = {
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
}
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/organizations/v1/{org_id}/iam_policy',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /organizations/v1/{org_id}/iam_policy
Set IAM policy for the organization. This method replaces all existing policy bindings for the organization. To prevent overwriting existing policy bindings that were written concurrently, use the etag field to perform a read-modify-write operation. For example: Making a new account to become a organization owner would require reading IAM Policy for the organization, add new binding or update existing binding with role_id: owner, and then set the new policy with etag returned by GetIamPolicy.
Body parameter
{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
org_id | path | string | true | none |
body | body | object | true | none |
ยป etag | body | string(byte) | false | none |
ยป policy | body | mycujoo.auth.v1.Policy | true | Authorization policy. |
ยปยป bindings | body | [mycujoo.auth.v1.Binding] | false | List of bindings to the policy. If empty, the policy will not have any effect. |
ยปยปยป account_ids | body | [string] | false | List of account identifiers (referencing mycujoo.accounts.v1.Account ) that have the role. |
ยปยปยป include_all_organization_accounts | body | boolean | false | If this is set to true then the role is granted to all accounts in the organization. It overrides the account_ids field. |
ยปยปยป role_id | body | string | false | none |
Detailed descriptions
ยปยป bindings: List of bindings to the policy. If empty, the policy will not have any effect. Total number of accounts referenced in the bindings should be up to 1500. If same account has multiple roles - it is counted multiple times.
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.organizations.v1.SetIamPolicyResponse |
default | Default | An unexpected error response. | google.rpc.Status |
PackagesService
List packages
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/packages/v1beta1/packages', params={
'order_by': 'ORDER_UNSPECIFIED', 'page_size': '0'
}, 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/packages/v1beta1/packages", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/packages/v1beta1/packages?order_by=ORDER_UNSPECIFIED&page_size=0 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/packages/v1beta1/packages?order_by=ORDER_UNSPECIFIED&page_size=0',
{
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/packages/v1beta1/packages?order_by=ORDER_UNSPECIFIED&page_size=0',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /packages/v1beta1/packages
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
order_by | query | string | true | Specifies the result ordering |
page_size | query | integer(int32) | true | Maximum number of records to return. |
page_token | query | string | false | Token used for cursor pagination. |
page_offset | query | integer(int32) | false | Offset from where to start returning data. |
includes | query | array[string] | false | Specifies what response metadata should include. |
search | query | string | false | Full text search on package name |
event_id | query | string | false | Event ID which is bound to the package |
Detailed descriptions
order_by: Specifies the result ordering
- ORDER_UNSPECIFIED: When order is unspecified it defaults to create time descending
- ORDER_CREATE_TIME_ASC: Results sorted by time of creation ascending
- ORDER_CREATE_TIME_DESC: Results sorted by time of creation descending
page_size: Maximum number of records to return. Must be between 1 and 100
page_token: Token used for cursor pagination. Cannot be used together with page_offset.
page_offset: Offset from where to start returning data. Cannot be used together with page_token.
includes: Specifies what response metadata should include. e.g. when 'INCLUDE_TOTAL_SIZE' is passed, response metadata will include total size of the result
- INCLUDE_TOTAL_SIZE: When included, response will contain metadata about total number of available results irrespective of pagination
Enumerated Values
Parameter | Value |
---|---|
order_by | ORDER_UNSPECIFIED |
order_by | ORDER_CREATE_TIME_ASC |
order_by | ORDER_CREATE_TIME_DESC |
includes | INCLUDE_UNSPECIFIED |
includes | INCLUDE_TOTAL_SIZE |
Example responses
200 Response
{
"next_page_token": "string",
"packages": [
{
"concurrency_limit": 0,
"create_time": "2019-08-24T14:15:22Z",
"description": "string",
"end_time": "2019-08-24T14:15:22Z",
"id": "string",
"metadata_references": [
{
"key": "string",
"value": "string"
}
],
"name": "string",
"start_time": "2019-08-24T14:15:22Z"
}
],
"total_size": 0
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.packages.v1beta1.ListPackagesResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Create package
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/packages/v1beta1/packages', 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/packages/v1beta1/packages", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/packages/v1beta1/packages HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"concurrency_limit": 0,
"description": "string",
"end_time": "2019-08-24T14:15:22Z",
"metadata_references": [
{
"key": "string",
"value": "string"
}
],
"name": "string",
"start_time": "2019-08-24T14:15:22Z"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/packages/v1beta1/packages',
{
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 = {
"concurrency_limit": 0,
"description": "string",
"end_time": "2019-08-24T14:15:22Z",
"metadata_references": [
{
"key": "string",
"value": "string"
}
],
"name": "string",
"start_time": "2019-08-24T14:15:22Z"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/packages/v1beta1/packages',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /packages/v1beta1/packages
Body parameter
{
"concurrency_limit": 0,
"description": "string",
"end_time": "2019-08-24T14:15:22Z",
"metadata_references": [
{
"key": "string",
"value": "string"
}
],
"name": "string",
"start_time": "2019-08-24T14:15:22Z"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | mycujoo.packages.v1beta1.CreatePackageRequest | true | none |
Example responses
200 Response
{
"concurrency_limit": 0,
"create_time": "2019-08-24T14:15:22Z",
"description": "string",
"end_time": "2019-08-24T14:15:22Z",
"id": "string",
"metadata_references": [
{
"key": "string",
"value": "string"
}
],
"name": "string",
"start_time": "2019-08-24T14:15:22Z"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Created package | mycujoo.packages.v1beta1.Package |
default | Default | An unexpected error response. | google.rpc.Status |
Batch Get package
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/packages/v1beta1/packages/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/packages/v1beta1/packages/batch", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/packages/v1beta1/packages/batch 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/packages/v1beta1/packages/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 = {
"ids": [
"string"
]
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/packages/v1beta1/packages/batch',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /packages/v1beta1/packages/batch
Body parameter
{
"ids": [
"string"
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | mycujoo.packages.v1beta1.BatchGetPackagesRequest | true | none |
Example responses
200 Response
{
"packages": [
{
"concurrency_limit": 0,
"create_time": "2019-08-24T14:15:22Z",
"description": "string",
"end_time": "2019-08-24T14:15:22Z",
"id": "string",
"metadata_references": [
{
"key": "string",
"value": "string"
}
],
"name": "string",
"start_time": "2019-08-24T14:15:22Z"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.packages.v1beta1.BatchGetPackagesResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Get package
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/packages/v1beta1/packages/{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/packages/v1beta1/packages/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/packages/v1beta1/packages/{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/packages/v1beta1/packages/{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/packages/v1beta1/packages/{id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /packages/v1beta1/packages/{id}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | ID of the package to retrieve |
Example responses
200 Response
{
"concurrency_limit": 0,
"create_time": "2019-08-24T14:15:22Z",
"description": "string",
"end_time": "2019-08-24T14:15:22Z",
"id": "string",
"metadata_references": [
{
"key": "string",
"value": "string"
}
],
"name": "string",
"start_time": "2019-08-24T14:15:22Z"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Returned package | mycujoo.packages.v1beta1.Package |
default | Default | An unexpected error response. | google.rpc.Status |
Delete package
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.delete('https://mcls-api.mycujoo.tv/packages/v1beta1/packages/{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/packages/v1beta1/packages/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE https://mcls-api.mycujoo.tv/packages/v1beta1/packages/{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/packages/v1beta1/packages/{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/packages/v1beta1/packages/{id}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE /packages/v1beta1/packages/{id}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | ID of the package to delete |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.packages.v1beta1.DeletePackageResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Updates package
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.patch('https://mcls-api.mycujoo.tv/packages/v1beta1/packages/{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/packages/v1beta1/packages/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH https://mcls-api.mycujoo.tv/packages/v1beta1/packages/{id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"concurrency_limit": 0,
"description": "string",
"end_time": "2019-08-24T14:15:22Z",
"metadata_references": [
{
"key": "string",
"value": "string"
}
],
"name": "string",
"start_time": "2019-08-24T14:15:22Z"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/packages/v1beta1/packages/{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 = {
"concurrency_limit": 0,
"description": "string",
"end_time": "2019-08-24T14:15:22Z",
"metadata_references": [
{
"key": "string",
"value": "string"
}
],
"name": "string",
"start_time": "2019-08-24T14:15:22Z"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/packages/v1beta1/packages/{id}',
{
method: 'PATCH',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PATCH /packages/v1beta1/packages/{id}
Body parameter
{
"concurrency_limit": 0,
"description": "string",
"end_time": "2019-08-24T14:15:22Z",
"metadata_references": [
{
"key": "string",
"value": "string"
}
],
"name": "string",
"start_time": "2019-08-24T14:15:22Z"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | none |
body | body | mycujoo.packages.v1beta1.UpdatePackageRequest.UpdateFields | true | none |
Example responses
200 Response
{
"concurrency_limit": 0,
"create_time": "2019-08-24T14:15:22Z",
"description": "string",
"end_time": "2019-08-24T14:15:22Z",
"id": "string",
"metadata_references": [
{
"key": "string",
"value": "string"
}
],
"name": "string",
"start_time": "2019-08-24T14:15:22Z"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Updated package | mycujoo.packages.v1beta1.Package |
default | Default | An unexpected error response. | google.rpc.Status |
GetPackageIamPolicy
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/packages/v1beta1/packages/{package_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": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://mcls-api.mycujoo.tv/packages/v1beta1/packages/{package_id}/iam_policy", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/packages/v1beta1/packages/{package_id}/iam_policy 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/packages/v1beta1/packages/{package_id}/iam_policy',
{
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/packages/v1beta1/packages/{package_id}/iam_policy',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /packages/v1beta1/packages/{package_id}/iam_policy
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
package_id | path | string | true | none |
Example responses
200 Response
{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
},
"resource_hierarchy": [
{
"id": "elevendata",
"type": "project"
}
],
"resource_title": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.packages.v1beta1.GetPackageIamPolicyResponse |
default | Default | An unexpected error response. | google.rpc.Status |
SetPackageIamPolicy
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/packages/v1beta1/packages/{package_id}/iam_policy', 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/packages/v1beta1/packages/{package_id}/iam_policy", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/packages/v1beta1/packages/{package_id}/iam_policy HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/packages/v1beta1/packages/{package_id}/iam_policy',
{
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 = {
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
}
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/packages/v1beta1/packages/{package_id}/iam_policy',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /packages/v1beta1/packages/{package_id}/iam_policy
Body parameter
{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
package_id | path | string | true | none |
body | body | object | true | none |
ยป etag | body | string(byte) | false | none |
ยป policy | body | mycujoo.auth.v1.Policy | true | Authorization policy. |
ยปยป bindings | body | [mycujoo.auth.v1.Binding] | false | List of bindings to the policy. If empty, the policy will not have any effect. |
ยปยปยป account_ids | body | [string] | false | List of account identifiers (referencing mycujoo.accounts.v1.Account ) that have the role. |
ยปยปยป include_all_organization_accounts | body | boolean | false | If this is set to true then the role is granted to all accounts in the organization. It overrides the account_ids field. |
ยปยปยป role_id | body | string | false | none |
Detailed descriptions
ยปยป bindings: List of bindings to the policy. If empty, the policy will not have any effect. Total number of accounts referenced in the bindings should be up to 1500. If same account has multiple roles - it is counted multiple times.
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.packages.v1beta1.SetPackageIamPolicyResponse |
default | Default | An unexpected error response. | google.rpc.Status |
TestIamPermissions
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/packages/v1beta1/test_iam_permissions', 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/packages/v1beta1/test_iam_permissions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/packages/v1beta1/test_iam_permissions HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/packages/v1beta1/test_iam_permissions',
{
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 = {
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/packages/v1beta1/test_iam_permissions',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /packages/v1beta1/test_iam_permissions
This method validates the current account given a list of permissions. Used for UI
Body parameter
{
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | mycujoo.packages.v1beta1.TestIamPermissionsRequest | true | none |
Example responses
200 Response
{
"permissions": [
"projects.create",
"projects.update"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.packages.v1beta1.TestIamPermissionsResponse |
default | Default | An unexpected error response. | google.rpc.Status |
PlayerConfigsService
GetPlayerConfig returns a player config by identifier
Code samples
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://mcls-api.mycujoo.tv/playerconfig/v1beta1', 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/playerconfig/v1beta1", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/playerconfig/v1beta1 HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/playerconfig/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'
};
fetch('https://mcls-api.mycujoo.tv/playerconfig/v1beta1',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /playerconfig/v1beta1
Example responses
200 Response
{
"player_config": {
"ima_ad_unit": "string"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.playerconfig.v1beta1.GetPlayerConfigResponse |
default | Default | An unexpected error response. | google.rpc.Status |
UpdatePlayerConfig stores player config in the service
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
r = requests.put('https://mcls-api.mycujoo.tv/playerconfig/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"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "https://mcls-api.mycujoo.tv/playerconfig/v1beta1", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT https://mcls-api.mycujoo.tv/playerconfig/v1beta1 HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"ima_ad_unit": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/playerconfig/v1beta1',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const inputBody = {
"ima_ad_unit": "string"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/playerconfig/v1beta1',
{
method: 'PUT',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT /playerconfig/v1beta1
Body parameter
{
"ima_ad_unit": "string"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | mycujoo.playerconfig.v1beta1.UpdatePlayerConfigRequest | true | none |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.playerconfig.v1beta1.UpdatePlayerConfigResponse |
default | Default | An unexpected error response. | google.rpc.Status |
ProjectsService
ListProjects will return list of projects that user has access to
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/projects/v1', params={
'page_size': '0'
}, 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/projects/v1", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/projects/v1?page_size=0 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/projects/v1?page_size=0',
{
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/projects/v1?page_size=0',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /projects/v1
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
page_size | query | integer(int32) | true | none |
page_token | query | string | false | none |
Example responses
200 Response
{
"next_page_token": "string",
"projects": [
{
"content_visibility": "CONTENT_VISIBILITY_UNSPECIFIED",
"display_name": "string",
"id": "string",
"is_disabled": true
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.projects.v1.ListProjectsResponse |
default | Default | An unexpected error response. | google.rpc.Status |
CreateProject will create new project within the organization of calling user
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/projects/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/projects/v1", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/projects/v1 HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"display_name": "string",
"project_id": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/projects/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 = {
"display_name": "string",
"project_id": "string"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/projects/v1',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /projects/v1
Body parameter
{
"display_name": "string",
"project_id": "string"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | mycujoo.projects.v1.CreateProjectRequest | true | none |
Example responses
200 Response
{
"project": {
"content_visibility": "CONTENT_VISIBILITY_UNSPECIFIED",
"display_name": "string",
"id": "string",
"is_disabled": true
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.projects.v1.CreateProjectResponse |
default | Default | An unexpected error response. | google.rpc.Status |
ProjectsService_TestIamPermissions
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/projects/v1/test_iam_permissions', 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/projects/v1/test_iam_permissions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/projects/v1/test_iam_permissions HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/projects/v1/test_iam_permissions',
{
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 = {
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/projects/v1/test_iam_permissions',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /projects/v1/test_iam_permissions
Body parameter
{
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | mycujoo.projects.v1.TestIamPermissionsRequest | true | none |
Example responses
200 Response
{
"permissions": [
"projects.create",
"projects.update"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.projects.v1.TestIamPermissionsResponse |
default | Default | An unexpected error response. | google.rpc.Status |
GetProject will return information about the project. Project must belong to organization of the user account
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/projects/v1/{project_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/projects/v1/{project_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/projects/v1/{project_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/projects/v1/{project_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/projects/v1/{project_id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /projects/v1/{project_id}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
project_id | path | string | true | none |
Example responses
200 Response
{
"project": {
"content_visibility": "CONTENT_VISIBILITY_UNSPECIFIED",
"display_name": "string",
"id": "string",
"is_disabled": true
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.projects.v1.GetProjectResponse |
default | Default | An unexpected error response. | google.rpc.Status |
DeleteProject
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.delete('https://mcls-api.mycujoo.tv/projects/v1/{project_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/projects/v1/{project_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE https://mcls-api.mycujoo.tv/projects/v1/{project_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/projects/v1/{project_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/projects/v1/{project_id}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE /projects/v1/{project_id}
Deletes the project and all resources within that project.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
project_id | path | string | true | none |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.projects.v1.DeleteProjectResponse |
default | Default | An unexpected error response. | google.rpc.Status |
UpdateProject
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.patch('https://mcls-api.mycujoo.tv/projects/v1/{project_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/projects/v1/{project_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH https://mcls-api.mycujoo.tv/projects/v1/{project_id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"content_visibility": "CONTENT_VISIBILITY_UNSPECIFIED",
"display_name": "string",
"id": "string",
"is_disabled": true
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/projects/v1/{project_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 = {
"content_visibility": "CONTENT_VISIBILITY_UNSPECIFIED",
"display_name": "string",
"id": "string",
"is_disabled": true
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/projects/v1/{project_id}',
{
method: 'PATCH',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PATCH /projects/v1/{project_id}
Updates project's basic fields (i.e. display_name)
Body parameter
{
"content_visibility": "CONTENT_VISIBILITY_UNSPECIFIED",
"display_name": "string",
"id": "string",
"is_disabled": true
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
project_id | path | string | true | none |
body | body | mycujoo.projects.v1.Project | true | none |
Example responses
200 Response
{
"content_visibility": "CONTENT_VISIBILITY_UNSPECIFIED",
"display_name": "string",
"id": "string",
"is_disabled": true
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | (empty) | mycujoo.projects.v1.Project |
404 | Not Found | Project not found | 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/projects/v1/{project_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": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://mcls-api.mycujoo.tv/projects/v1/{project_id}/iam_policy", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/projects/v1/{project_id}/iam_policy 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/projects/v1/{project_id}/iam_policy',
{
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/projects/v1/{project_id}/iam_policy',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /projects/v1/{project_id}/iam_policy
Returns current IAM policy for the project. Use returned policy and etag to update policy.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
project_id | path | string | true | none |
Example responses
200 Response
{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
},
"resource_hierarchy": [
{
"id": "elevendata",
"type": "project"
}
],
"resource_title": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.projects.v1.GetIamPolicyResponse |
default | Default | An unexpected error response. | google.rpc.Status |
SetIamPolicy
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/projects/v1/{project_id}/iam_policy', 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/projects/v1/{project_id}/iam_policy", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/projects/v1/{project_id}/iam_policy HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/projects/v1/{project_id}/iam_policy',
{
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 = {
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
}
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/projects/v1/{project_id}/iam_policy',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /projects/v1/{project_id}/iam_policy
Set IAM policy for the project. This method replaces all existing policy bindings for the project. To prevent overwriting existing policy bindings that were written concurrently, use the etag field to perform a read-modify-write operation. For example: Making a new account to become a project owner would require reading IAM Policy for the project, add new binding or update existing binding with role_id: owner, and then set the new policy with etag returned by GetIamPolicy.
Body parameter
{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
project_id | path | string | true | none |
body | body | object | true | none |
ยป etag | body | string(byte) | false | none |
ยป policy | body | mycujoo.auth.v1.Policy | true | Authorization policy. |
ยปยป bindings | body | [mycujoo.auth.v1.Binding] | false | List of bindings to the policy. If empty, the policy will not have any effect. |
ยปยปยป account_ids | body | [string] | false | List of account identifiers (referencing mycujoo.accounts.v1.Account ) that have the role. |
ยปยปยป include_all_organization_accounts | body | boolean | false | If this is set to true then the role is granted to all accounts in the organization. It overrides the account_ids field. |
ยปยปยป role_id | body | string | false | none |
Detailed descriptions
ยปยป bindings: List of bindings to the policy. If empty, the policy will not have any effect. Total number of accounts referenced in the bindings should be up to 1500. If same account has multiple roles - it is counted multiple times.
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.projects.v1.SetIamPolicyResponse |
default | Default | An unexpected error response. | google.rpc.Status |
StreamService
Returns asset information
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/streaming/v1/assets/recording/{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/streaming/v1/assets/recording/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/streaming/v1/assets/recording/{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/streaming/v1/assets/recording/{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/streaming/v1/assets/recording/{id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /streaming/v1/assets/recording/{id}
Get recording's asset information
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | The asset's id |
Example responses
200 Response
{
"asset_url": "string",
"id": "string",
"is_concatenated": true,
"status": "STATUS_UNSPECIFIED",
"stream_id": "string",
"stream_key": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | (empty) | mycujoo.streaming.v1.RecordingAsset |
default | Default | An unexpected error response. | google.rpc.Status |
Deletes a single recording asset
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.delete('https://mcls-api.mycujoo.tv/streaming/v1/assets/recording/{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/streaming/v1/assets/recording/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE https://mcls-api.mycujoo.tv/streaming/v1/assets/recording/{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/streaming/v1/assets/recording/{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/streaming/v1/assets/recording/{id}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE /streaming/v1/assets/recording/{id}
Deletes a single recording asset
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.streaming.v1.DeleteRecordingAssetResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Returns a list of clips
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/streaming/v1/clips', 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/streaming/v1/clips", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/streaming/v1/clips 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/streaming/v1/clips',
{
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/streaming/v1/clips',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /streaming/v1/clips
List all clips
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
filter | query | string | false | Filter options, can be filtered by the stream_id, or duration for example. |
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
{
"clips": [
{
"actual_duration": 0,
"actual_position": 0,
"created_time": "2019-08-24T14:15:22Z",
"download": {
"full_url": "string",
"size": "string"
},
"download_state": "DOWNLOAD_STATE_UNSPECIFIED",
"full_url": "string",
"id": "string",
"state": "CLIP_STATE_UNSPECIFIED",
"stream_id": "string",
"title": "string",
"updated_time": "2019-08-24T14:15:22Z"
}
],
"next_page_token": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.streaming.v1.ListClipsResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Creates a new Clip
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/streaming/v1/clips', 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/streaming/v1/clips", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/streaming/v1/clips HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"duration": 0,
"offset": 0,
"position": 0,
"request_download": true,
"stream_id": "string",
"title": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/clips',
{
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 = {
"duration": 0,
"offset": 0,
"position": 0,
"request_download": true,
"stream_id": "string",
"title": "string"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/clips',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /streaming/v1/clips
Creates a new clip
Body parameter
{
"duration": 0,
"offset": 0,
"position": 0,
"request_download": true,
"stream_id": "string",
"title": "string"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | mycujoo.streaming.v1.ClipRequest | true | none |
Example responses
200 Response
{
"actual_duration": 0,
"actual_position": 0,
"created_time": "2019-08-24T14:15:22Z",
"download": {
"full_url": "string",
"size": "string"
},
"download_state": "DOWNLOAD_STATE_UNSPECIFIED",
"full_url": "string",
"id": "string",
"state": "CLIP_STATE_UNSPECIFIED",
"stream_id": "string",
"title": "string",
"updated_time": "2019-08-24T14:15:22Z"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | (empty) | mycujoo.streaming.v1.ClipResponse |
default | Default | An unexpected error response. | google.rpc.Status |
StreamService_ClipTestIamPermissions
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/streaming/v1/clips/test_iam_permissions', 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/streaming/v1/clips/test_iam_permissions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/streaming/v1/clips/test_iam_permissions HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/clips/test_iam_permissions',
{
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 = {
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/clips/test_iam_permissions',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /streaming/v1/clips/test_iam_permissions
Body parameter
{
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | mycujoo.streaming.v1.ClipTestIamPermissionsRequest | true | none |
Example responses
200 Response
{
"permissions": [
"projects.create",
"projects.update"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.streaming.v1.ClipTestIamPermissionsResponse |
default | Default | An unexpected error response. | google.rpc.Status |
GetClipIamPolicy
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/streaming/v1/clips/{clip_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": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://mcls-api.mycujoo.tv/streaming/v1/clips/{clip_id}/iam_policy", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/streaming/v1/clips/{clip_id}/iam_policy 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/streaming/v1/clips/{clip_id}/iam_policy',
{
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/streaming/v1/clips/{clip_id}/iam_policy',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /streaming/v1/clips/{clip_id}/iam_policy
Returns current IAM policy for the clip. Use returned policy and etag to update policy.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
clip_id | path | string | true | none |
Example responses
200 Response
{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.streaming.v1.GetClipIamPolicyResponse |
default | Default | An unexpected error response. | google.rpc.Status |
SetClipIamPolicy
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/streaming/v1/clips/{clip_id}/iam_policy', 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/streaming/v1/clips/{clip_id}/iam_policy", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/streaming/v1/clips/{clip_id}/iam_policy HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/clips/{clip_id}/iam_policy',
{
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 = {
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
}
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/clips/{clip_id}/iam_policy',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /streaming/v1/clips/{clip_id}/iam_policy
Set IAM policy for the clip. This method replaces all existing policy bindings for the clip. To prevent overwriting existing policy bindings that were written concurrently, use the etag field to perform a read-modify-write operation.
Body parameter
{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
clip_id | path | string | true | none |
body | body | object | true | none |
ยป etag | body | string(byte) | false | none |
ยป policy | body | mycujoo.auth.v1.Policy | true | Authorization policy. |
ยปยป bindings | body | [mycujoo.auth.v1.Binding] | false | List of bindings to the policy. If empty, the policy will not have any effect. |
ยปยปยป account_ids | body | [string] | false | List of account identifiers (referencing mycujoo.accounts.v1.Account ) that have the role. |
ยปยปยป include_all_organization_accounts | body | boolean | false | If this is set to true then the role is granted to all accounts in the organization. It overrides the account_ids field. |
ยปยปยป role_id | body | string | false | none |
Detailed descriptions
ยปยป bindings: List of bindings to the policy. If empty, the policy will not have any effect. Total number of accounts referenced in the bindings should be up to 1500. If same account has multiple roles - it is counted multiple times.
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.streaming.v1.SetClipIamPolicyResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Returns a single clip
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/streaming/v1/clips/{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/streaming/v1/clips/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/streaming/v1/clips/{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/streaming/v1/clips/{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/streaming/v1/clips/{id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /streaming/v1/clips/{id}
Fetches a single clip
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | none |
Example responses
200 Response
{
"actual_duration": 0,
"actual_position": 0,
"created_time": "2019-08-24T14:15:22Z",
"download": {
"full_url": "string",
"size": "string"
},
"download_state": "DOWNLOAD_STATE_UNSPECIFIED",
"full_url": "string",
"id": "string",
"state": "CLIP_STATE_UNSPECIFIED",
"stream_id": "string",
"title": "string",
"updated_time": "2019-08-24T14:15:22Z"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | (empty) | mycujoo.streaming.v1.ClipResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Deletes a single clip
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.delete('https://mcls-api.mycujoo.tv/streaming/v1/clips/{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/streaming/v1/clips/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE https://mcls-api.mycujoo.tv/streaming/v1/clips/{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/streaming/v1/clips/{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/streaming/v1/clips/{id}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE /streaming/v1/clips/{id}
Deletes a single clip
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.streaming.v1.DeleteClipResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Updates a clip
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.patch('https://mcls-api.mycujoo.tv/streaming/v1/clips/{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/streaming/v1/clips/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH https://mcls-api.mycujoo.tv/streaming/v1/clips/{id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"duration": 0,
"offset": 0,
"position": 0,
"request_download": true,
"stream_id": "string",
"title": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/clips/{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 = {
"duration": 0,
"offset": 0,
"position": 0,
"request_download": true,
"stream_id": "string",
"title": "string"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/clips/{id}',
{
method: 'PATCH',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PATCH /streaming/v1/clips/{id}
Updates a clip
Body parameter
{
"duration": 0,
"offset": 0,
"position": 0,
"request_download": true,
"stream_id": "string",
"title": "string"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | none |
body | body | mycujoo.streaming.v1.ClipRequest | true | Update |
Example responses
200 Response
{
"actual_duration": 0,
"actual_position": 0,
"created_time": "2019-08-24T14:15:22Z",
"download": {
"full_url": "string",
"size": "string"
},
"download_state": "DOWNLOAD_STATE_UNSPECIFIED",
"full_url": "string",
"id": "string",
"state": "CLIP_STATE_UNSPECIFIED",
"stream_id": "string",
"title": "string",
"updated_time": "2019-08-24T14:15:22Z"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | (empty) | mycujoo.streaming.v1.ClipResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Creates a downloadable link for the requested clip
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/streaming/v1/clips/{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("POST", "https://mcls-api.mycujoo.tv/streaming/v1/clips/{id}/download", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/streaming/v1/clips/{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/streaming/v1/clips/{id}/download',
{
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/streaming/v1/clips/{id}/download',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /streaming/v1/clips/{id}/download
Creates a downloadable link for the requested clip
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | none |
height | query | integer(int32) | false | The output file height. E.g 1080, 720, 480, etc. If you don't set it, the output will be the highest available quality. |
Example responses
200 Response
{
"download": {
"full_url": "string",
"size": "string"
},
"download_state": "DOWNLOAD_STATE_UNSPECIFIED"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.streaming.v1.PostClipDownloadResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Returns a list of stream configs
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/streaming/v1/configs', 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/streaming/v1/configs", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/streaming/v1/configs 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/streaming/v1/configs',
{
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/streaming/v1/configs',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /streaming/v1/configs
Returns all the configs connected to your 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 | If this field is not empty then it must contain the next_page_token value |
filter | query | string | false | Filter options, can be filtered by the is_system for example. |
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.
filter: Filter options, can be filtered by the is_system for example.
e.g is_system=true
The value of the filter
should be URL encoded
Example responses
200 Response
{
"configs": [
{
"auto_enable_vpn_blocking": true,
"default": true,
"dvr_settings": {
"automatic_vod": true,
"enabled": true,
"stop_transcoding_full_dvr": true,
"window_size": 1
},
"enable_pull_endpoint": true,
"enable_raw_pull_endpoint": true,
"id": "string",
"is_system": true,
"name": "string",
"recording_settings": {
"autostart": true,
"enabled": true,
"record_during_transcoding": true
},
"scene_settings": {
"is_enabled": true,
"key_color": "SCENE_KEY_COLOR_UNSPECIFIED",
"scene_id": "string"
},
"secure_link": true,
"transcoding_settings": {
"audio_bitrate": 32,
"autostart": true,
"drm": {
"fairplay": true,
"playready": true,
"widevine": true
},
"enabled": true,
"follow_source_fps": true,
"gop": 25,
"interlacing_filter_mode": "INTERLACING_FILTER_MODE_UNSPECIFIED",
"key_frame_interval": 1,
"level": 0.1,
"llhls_settings": {
"is_enabled": true,
"part_size": 250,
"segment_count": 10,
"segment_size": 1
},
"low_latency": true,
"profile": "TRANSCODING_PROFILE_UNSPECIFIED",
"segment_size": 1,
"tracking_pixel": true,
"use_cdn": true,
"video_representation_ids": [
"string"
],
"watermark": {
"enabled": true,
"url": "https://images.mls.mycujoo.tv/example.png"
}
}
}
],
"next_page_token": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.streaming.v1.ListConfigsResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Creates a new stream config
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/streaming/v1/configs', 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/streaming/v1/configs", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/streaming/v1/configs HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"auto_enable_vpn_blocking": true,
"default": true,
"dvr_settings": {
"automatic_vod": true,
"enabled": true,
"stop_transcoding_full_dvr": true,
"window_size": 1
},
"enable_pull_endpoint": true,
"enable_raw_pull_endpoint": true,
"name": "string",
"recording_settings": {
"autostart": true,
"enabled": true,
"record_during_transcoding": true
},
"scene_settings": {
"is_enabled": true,
"key_color": "SCENE_KEY_COLOR_UNSPECIFIED",
"scene_id": "string"
},
"secure_link": true,
"transcoding_settings": {
"audio_bitrate": 32,
"autostart": true,
"drm": {
"fairplay": true,
"playready": true,
"widevine": true
},
"enabled": true,
"follow_source_fps": true,
"gop": 25,
"interlacing_filter_mode": "INTERLACING_FILTER_MODE_UNSPECIFIED",
"key_frame_interval": 1,
"level": 0.1,
"llhls_settings": {
"is_enabled": true,
"part_size": 250,
"segment_count": 10,
"segment_size": 1
},
"low_latency": true,
"profile": "TRANSCODING_PROFILE_UNSPECIFIED",
"segment_size": 1,
"tracking_pixel": true,
"use_cdn": true,
"video_representation_ids": [
"string"
],
"watermark": {
"enabled": true,
"url": "https://images.mls.mycujoo.tv/example.png"
}
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/configs',
{
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 = {
"auto_enable_vpn_blocking": true,
"default": true,
"dvr_settings": {
"automatic_vod": true,
"enabled": true,
"stop_transcoding_full_dvr": true,
"window_size": 1
},
"enable_pull_endpoint": true,
"enable_raw_pull_endpoint": true,
"name": "string",
"recording_settings": {
"autostart": true,
"enabled": true,
"record_during_transcoding": true
},
"scene_settings": {
"is_enabled": true,
"key_color": "SCENE_KEY_COLOR_UNSPECIFIED",
"scene_id": "string"
},
"secure_link": true,
"transcoding_settings": {
"audio_bitrate": 32,
"autostart": true,
"drm": {
"fairplay": true,
"playready": true,
"widevine": true
},
"enabled": true,
"follow_source_fps": true,
"gop": 25,
"interlacing_filter_mode": "INTERLACING_FILTER_MODE_UNSPECIFIED",
"key_frame_interval": 1,
"level": 0.1,
"llhls_settings": {
"is_enabled": true,
"part_size": 250,
"segment_count": 10,
"segment_size": 1
},
"low_latency": true,
"profile": "TRANSCODING_PROFILE_UNSPECIFIED",
"segment_size": 1,
"tracking_pixel": true,
"use_cdn": true,
"video_representation_ids": [
"string"
],
"watermark": {
"enabled": true,
"url": "https://images.mls.mycujoo.tv/example.png"
}
}
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/configs',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /streaming/v1/configs
Creates a new stream configuration.
Body parameter
{
"auto_enable_vpn_blocking": true,
"default": true,
"dvr_settings": {
"automatic_vod": true,
"enabled": true,
"stop_transcoding_full_dvr": true,
"window_size": 1
},
"enable_pull_endpoint": true,
"enable_raw_pull_endpoint": true,
"name": "string",
"recording_settings": {
"autostart": true,
"enabled": true,
"record_during_transcoding": true
},
"scene_settings": {
"is_enabled": true,
"key_color": "SCENE_KEY_COLOR_UNSPECIFIED",
"scene_id": "string"
},
"secure_link": true,
"transcoding_settings": {
"audio_bitrate": 32,
"autostart": true,
"drm": {
"fairplay": true,
"playready": true,
"widevine": true
},
"enabled": true,
"follow_source_fps": true,
"gop": 25,
"interlacing_filter_mode": "INTERLACING_FILTER_MODE_UNSPECIFIED",
"key_frame_interval": 1,
"level": 0.1,
"llhls_settings": {
"is_enabled": true,
"part_size": 250,
"segment_count": 10,
"segment_size": 1
},
"low_latency": true,
"profile": "TRANSCODING_PROFILE_UNSPECIFIED",
"segment_size": 1,
"tracking_pixel": true,
"use_cdn": true,
"video_representation_ids": [
"string"
],
"watermark": {
"enabled": true,
"url": "https://images.mls.mycujoo.tv/example.png"
}
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | mycujoo.streaming.v1.StreamConfigUpdate | true | none |
Example responses
200 Response
{
"auto_enable_vpn_blocking": true,
"default": true,
"dvr_settings": {
"automatic_vod": true,
"enabled": true,
"stop_transcoding_full_dvr": true,
"window_size": 1
},
"enable_pull_endpoint": true,
"enable_raw_pull_endpoint": true,
"id": "string",
"is_system": true,
"name": "string",
"recording_settings": {
"autostart": true,
"enabled": true,
"record_during_transcoding": true
},
"scene_settings": {
"is_enabled": true,
"key_color": "SCENE_KEY_COLOR_UNSPECIFIED",
"scene_id": "string"
},
"secure_link": true,
"transcoding_settings": {
"audio_bitrate": 32,
"autostart": true,
"drm": {
"fairplay": true,
"playready": true,
"widevine": true
},
"enabled": true,
"follow_source_fps": true,
"gop": 25,
"interlacing_filter_mode": "INTERLACING_FILTER_MODE_UNSPECIFIED",
"key_frame_interval": 1,
"level": 0.1,
"llhls_settings": {
"is_enabled": true,
"part_size": 250,
"segment_count": 10,
"segment_size": 1
},
"low_latency": true,
"profile": "TRANSCODING_PROFILE_UNSPECIFIED",
"segment_size": 1,
"tracking_pixel": true,
"use_cdn": true,
"video_representation_ids": [
"string"
],
"watermark": {
"enabled": true,
"url": "https://images.mls.mycujoo.tv/example.png"
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | (empty) | mycujoo.streaming.v1.StreamConfig |
default | Default | An unexpected error response. | google.rpc.Status |
StreamService_StreamingConfigTestIamPermissions
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/streaming/v1/configs/test_iam_permissions', 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/streaming/v1/configs/test_iam_permissions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/streaming/v1/configs/test_iam_permissions HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/configs/test_iam_permissions',
{
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 = {
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/configs/test_iam_permissions',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /streaming/v1/configs/test_iam_permissions
Body parameter
{
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | mycujoo.streaming.v1.StreamingConfigTestIamPermissionsRequest | true | none |
Example responses
200 Response
{
"permissions": [
"projects.create",
"projects.update"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.streaming.v1.StreamingConfigTestIamPermissionsResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Returns a list of video representations (Presets)
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/streaming/v1/configs/video_representations', 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/streaming/v1/configs/video_representations", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/streaming/v1/configs/video_representations 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/streaming/v1/configs/video_representations',
{
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/streaming/v1/configs/video_representations',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /streaming/v1/configs/video_representations
List all the video representations available for use in stream configs.
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 | If this field is not empty then it must contain the next_page_token value |
filter | query | string | false | Filter options |
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",
"video_representations": [
{
"bitrate": 100,
"framerate": 24,
"height": 240,
"id": "string",
"is_enabled": true,
"is_system": true,
"name": "string",
"width": 320
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.streaming.v1.ListVideoRepresentationsResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Creates a new video representation (preset)
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/streaming/v1/configs/video_representations', 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/streaming/v1/configs/video_representations", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/streaming/v1/configs/video_representations HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"bitrate": 100,
"framerate": 24,
"height": 240,
"is_enabled": true,
"name": "string",
"width": 320
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/configs/video_representations',
{
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 = {
"bitrate": 100,
"framerate": 24,
"height": 240,
"is_enabled": true,
"name": "string",
"width": 320
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/configs/video_representations',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /streaming/v1/configs/video_representations
Creates a new video representation.
Body parameter
{
"bitrate": 100,
"framerate": 24,
"height": 240,
"is_enabled": true,
"name": "string",
"width": 320
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | query | string | false | example: ck8u9fwwu1wtg0hewiqz3we6j |
body | body | mycujoo.streaming.v1.VideoRepresentationUpdate | true | none |
Example responses
200 Response
{
"bitrate": 100,
"framerate": 24,
"height": 240,
"id": "string",
"is_enabled": true,
"is_system": true,
"name": "string",
"width": 320
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | (empty) | mycujoo.streaming.v1.VideoRepresentation |
default | Default | An unexpected error response. | google.rpc.Status |
StreamService_VideoRepresentationTestIamPermissions
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/streaming/v1/configs/video_representations/test_iam_permissions', 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/streaming/v1/configs/video_representations/test_iam_permissions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/streaming/v1/configs/video_representations/test_iam_permissions HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/configs/video_representations/test_iam_permissions',
{
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 = {
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/configs/video_representations/test_iam_permissions',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /streaming/v1/configs/video_representations/test_iam_permissions
Body parameter
{
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | mycujoo.streaming.v1.VideoRepresentationTestIamPermissionsRequest | true | none |
Example responses
200 Response
{
"permissions": [
"projects.create",
"projects.update"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.streaming.v1.VideoRepresentationTestIamPermissionsResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Returns video representation's info
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/streaming/v1/configs/video_representations/{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/streaming/v1/configs/video_representations/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/streaming/v1/configs/video_representations/{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/streaming/v1/configs/video_representations/{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/streaming/v1/configs/video_representations/{id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /streaming/v1/configs/video_representations/{id}
Returns the video representation
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | example: ck8u9fwwu1wtg0hewiqz3we6j |
Example responses
200 Response
{
"bitrate": 100,
"framerate": 24,
"height": 240,
"id": "string",
"is_enabled": true,
"is_system": true,
"name": "string",
"width": 320
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | (empty) | mycujoo.streaming.v1.VideoRepresentation |
default | Default | An unexpected error response. | google.rpc.Status |
Updates video representation
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.patch('https://mcls-api.mycujoo.tv/streaming/v1/pull_ingest/{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/streaming/v1/pull_ingest/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH https://mcls-api.mycujoo.tv/streaming/v1/pull_ingest/{id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"endpoint": "string",
"name": "string",
"protocol": "PULL_INGEST_PROTOCOL_UNSPECIFIED"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/pull_ingest/{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 = {
"endpoint": "string",
"name": "string",
"protocol": "PULL_INGEST_PROTOCOL_UNSPECIFIED"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/pull_ingest/{id}',
{
method: 'PATCH',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PATCH /streaming/v1/pull_ingest/{id}
Updates a pull ingest endpoint
Body parameter
{
"endpoint": "string",
"name": "string",
"protocol": "PULL_INGEST_PROTOCOL_UNSPECIFIED"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | ID of the event |
body | body | mycujoo.streaming.v1.PullIngestEndpointUpdateFields | true | Fields to update |
Example responses
200 Response
{
"endpoint": "string",
"id": "string",
"name": "string",
"protocol": "PULL_INGEST_PROTOCOL_UNSPECIFIED",
"streams": [
{
"status": "PULL_INGEST_STATUS_UNSPECIFIED",
"stream_id": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | (empty) | mycujoo.streaming.v1.PullIngestEndpoint |
default | Default | An unexpected error response. | google.rpc.Status |
Removes a video representation
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.delete('https://mcls-api.mycujoo.tv/streaming/v1/configs/video_representations/{video_representation_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/streaming/v1/configs/video_representations/{video_representation_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE https://mcls-api.mycujoo.tv/streaming/v1/configs/video_representations/{video_representation_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/streaming/v1/configs/video_representations/{video_representation_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/streaming/v1/configs/video_representations/{video_representation_id}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE /streaming/v1/configs/video_representations/{video_representation_id}
Removes a single video representation resource.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
video_representation_id | path | string | true | none |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.streaming.v1.DeleteVideoRepresentationResponse |
default | Default | An unexpected error response. | google.rpc.Status |
GetVideoRepresentationIamPolicy
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/streaming/v1/configs/video_representations/{video_representation_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": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://mcls-api.mycujoo.tv/streaming/v1/configs/video_representations/{video_representation_id}/iam_policy", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/streaming/v1/configs/video_representations/{video_representation_id}/iam_policy 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/streaming/v1/configs/video_representations/{video_representation_id}/iam_policy',
{
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/streaming/v1/configs/video_representations/{video_representation_id}/iam_policy',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /streaming/v1/configs/video_representations/{video_representation_id}/iam_policy
Returns current IAM policy for the video representation. Use returned policy and etag to update policy.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
video_representation_id | path | string | true | none |
Example responses
200 Response
{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.streaming.v1.GetVideoRepresentationIamPolicyResponse |
default | Default | An unexpected error response. | google.rpc.Status |
SetVideoRepresentationIamPolicy
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/streaming/v1/configs/video_representations/{video_representation_id}/iam_policy', 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/streaming/v1/configs/video_representations/{video_representation_id}/iam_policy", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/streaming/v1/configs/video_representations/{video_representation_id}/iam_policy HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/configs/video_representations/{video_representation_id}/iam_policy',
{
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 = {
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
}
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/configs/video_representations/{video_representation_id}/iam_policy',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /streaming/v1/configs/video_representations/{video_representation_id}/iam_policy
Set IAM policy for the video representation. This method replaces all existing policy bindings for the video representation. To prevent overwriting existing policy bindings that were written concurrently, use the etag field to perform a read-modify-write operation.
Body parameter
{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
video_representation_id | path | string | true | none |
body | body | object | true | none |
ยป etag | body | string(byte) | false | none |
ยป policy | body | mycujoo.auth.v1.Policy | true | Authorization policy. |
ยปยป bindings | body | [mycujoo.auth.v1.Binding] | false | List of bindings to the policy. If empty, the policy will not have any effect. |
ยปยปยป account_ids | body | [string] | false | List of account identifiers (referencing mycujoo.accounts.v1.Account ) that have the role. |
ยปยปยป include_all_organization_accounts | body | boolean | false | If this is set to true then the role is granted to all accounts in the organization. It overrides the account_ids field. |
ยปยปยป role_id | body | string | false | none |
Detailed descriptions
ยปยป bindings: List of bindings to the policy. If empty, the policy will not have any effect. Total number of accounts referenced in the bindings should be up to 1500. If same account has multiple roles - it is counted multiple times.
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.streaming.v1.SetVideoRepresentationIamPolicyResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Returns a single stream config
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/streaming/v1/configs/{config_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/streaming/v1/configs/{config_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/streaming/v1/configs/{config_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/streaming/v1/configs/{config_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/streaming/v1/configs/{config_id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /streaming/v1/configs/{config_id}
Returns a single StreamConfig resource.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
config_id | path | string | true | none |
Example responses
200 Response
{
"auto_enable_vpn_blocking": true,
"default": true,
"dvr_settings": {
"automatic_vod": true,
"enabled": true,
"stop_transcoding_full_dvr": true,
"window_size": 1
},
"enable_pull_endpoint": true,
"enable_raw_pull_endpoint": true,
"id": "string",
"is_system": true,
"name": "string",
"recording_settings": {
"autostart": true,
"enabled": true,
"record_during_transcoding": true
},
"scene_settings": {
"is_enabled": true,
"key_color": "SCENE_KEY_COLOR_UNSPECIFIED",
"scene_id": "string"
},
"secure_link": true,
"transcoding_settings": {
"audio_bitrate": 32,
"autostart": true,
"drm": {
"fairplay": true,
"playready": true,
"widevine": true
},
"enabled": true,
"follow_source_fps": true,
"gop": 25,
"interlacing_filter_mode": "INTERLACING_FILTER_MODE_UNSPECIFIED",
"key_frame_interval": 1,
"level": 0.1,
"llhls_settings": {
"is_enabled": true,
"part_size": 250,
"segment_count": 10,
"segment_size": 1
},
"low_latency": true,
"profile": "TRANSCODING_PROFILE_UNSPECIFIED",
"segment_size": 1,
"tracking_pixel": true,
"use_cdn": true,
"video_representation_ids": [
"string"
],
"watermark": {
"enabled": true,
"url": "https://images.mls.mycujoo.tv/example.png"
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | (empty) | mycujoo.streaming.v1.StreamConfig |
default | Default | An unexpected error response. | google.rpc.Status |
Deletes a single stream configuration
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.delete('https://mcls-api.mycujoo.tv/streaming/v1/configs/{config_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/streaming/v1/configs/{config_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE https://mcls-api.mycujoo.tv/streaming/v1/configs/{config_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/streaming/v1/configs/{config_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/streaming/v1/configs/{config_id}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE /streaming/v1/configs/{config_id}
Deletes a single Stream configuration resource.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
config_id | path | string | true | The stream config ID |
purge | query | boolean | false | If set to true all information related to this stream is deleted and will not be recoverable. |
Detailed descriptions
purge: If set to true all information related to this stream is deleted and will not be recoverable. Resources deleted are: Recordings, VODs and all references to the stream. USE WITH CAUTION.
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.streaming.v1.DeleteConfigResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Patch a single stream config
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.patch('https://mcls-api.mycujoo.tv/streaming/v1/configs/{config_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/streaming/v1/configs/{config_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH https://mcls-api.mycujoo.tv/streaming/v1/configs/{config_id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"auto_enable_vpn_blocking": true,
"default": true,
"dvr_settings": {
"automatic_vod": true,
"enabled": true,
"stop_transcoding_full_dvr": true,
"window_size": 1
},
"enable_pull_endpoint": true,
"enable_raw_pull_endpoint": true,
"name": "string",
"recording_settings": {
"autostart": true,
"enabled": true,
"record_during_transcoding": true
},
"scene_settings": {
"is_enabled": true,
"key_color": "SCENE_KEY_COLOR_UNSPECIFIED",
"scene_id": "string"
},
"secure_link": true,
"transcoding_settings": {
"audio_bitrate": 32,
"autostart": true,
"drm": {
"fairplay": true,
"playready": true,
"widevine": true
},
"enabled": true,
"follow_source_fps": true,
"gop": 25,
"interlacing_filter_mode": "INTERLACING_FILTER_MODE_UNSPECIFIED",
"key_frame_interval": 1,
"level": 0.1,
"llhls_settings": {
"is_enabled": true,
"part_size": 250,
"segment_count": 10,
"segment_size": 1
},
"low_latency": true,
"profile": "TRANSCODING_PROFILE_UNSPECIFIED",
"segment_size": 1,
"tracking_pixel": true,
"use_cdn": true,
"video_representation_ids": [
"string"
],
"watermark": {
"enabled": true,
"url": "https://images.mls.mycujoo.tv/example.png"
}
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/configs/{config_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 = {
"auto_enable_vpn_blocking": true,
"default": true,
"dvr_settings": {
"automatic_vod": true,
"enabled": true,
"stop_transcoding_full_dvr": true,
"window_size": 1
},
"enable_pull_endpoint": true,
"enable_raw_pull_endpoint": true,
"name": "string",
"recording_settings": {
"autostart": true,
"enabled": true,
"record_during_transcoding": true
},
"scene_settings": {
"is_enabled": true,
"key_color": "SCENE_KEY_COLOR_UNSPECIFIED",
"scene_id": "string"
},
"secure_link": true,
"transcoding_settings": {
"audio_bitrate": 32,
"autostart": true,
"drm": {
"fairplay": true,
"playready": true,
"widevine": true
},
"enabled": true,
"follow_source_fps": true,
"gop": 25,
"interlacing_filter_mode": "INTERLACING_FILTER_MODE_UNSPECIFIED",
"key_frame_interval": 1,
"level": 0.1,
"llhls_settings": {
"is_enabled": true,
"part_size": 250,
"segment_count": 10,
"segment_size": 1
},
"low_latency": true,
"profile": "TRANSCODING_PROFILE_UNSPECIFIED",
"segment_size": 1,
"tracking_pixel": true,
"use_cdn": true,
"video_representation_ids": [
"string"
],
"watermark": {
"enabled": true,
"url": "https://images.mls.mycujoo.tv/example.png"
}
}
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/configs/{config_id}',
{
method: 'PATCH',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PATCH /streaming/v1/configs/{config_id}
Patches a single StreamConfig resource.
Body parameter
{
"auto_enable_vpn_blocking": true,
"default": true,
"dvr_settings": {
"automatic_vod": true,
"enabled": true,
"stop_transcoding_full_dvr": true,
"window_size": 1
},
"enable_pull_endpoint": true,
"enable_raw_pull_endpoint": true,
"name": "string",
"recording_settings": {
"autostart": true,
"enabled": true,
"record_during_transcoding": true
},
"scene_settings": {
"is_enabled": true,
"key_color": "SCENE_KEY_COLOR_UNSPECIFIED",
"scene_id": "string"
},
"secure_link": true,
"transcoding_settings": {
"audio_bitrate": 32,
"autostart": true,
"drm": {
"fairplay": true,
"playready": true,
"widevine": true
},
"enabled": true,
"follow_source_fps": true,
"gop": 25,
"interlacing_filter_mode": "INTERLACING_FILTER_MODE_UNSPECIFIED",
"key_frame_interval": 1,
"level": 0.1,
"llhls_settings": {
"is_enabled": true,
"part_size": 250,
"segment_count": 10,
"segment_size": 1
},
"low_latency": true,
"profile": "TRANSCODING_PROFILE_UNSPECIFIED",
"segment_size": 1,
"tracking_pixel": true,
"use_cdn": true,
"video_representation_ids": [
"string"
],
"watermark": {
"enabled": true,
"url": "https://images.mls.mycujoo.tv/example.png"
}
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
config_id | path | string | true | none |
body | body | mycujoo.streaming.v1.StreamConfigUpdate | true | none |
Example responses
200 Response
{
"auto_enable_vpn_blocking": true,
"default": true,
"dvr_settings": {
"automatic_vod": true,
"enabled": true,
"stop_transcoding_full_dvr": true,
"window_size": 1
},
"enable_pull_endpoint": true,
"enable_raw_pull_endpoint": true,
"id": "string",
"is_system": true,
"name": "string",
"recording_settings": {
"autostart": true,
"enabled": true,
"record_during_transcoding": true
},
"scene_settings": {
"is_enabled": true,
"key_color": "SCENE_KEY_COLOR_UNSPECIFIED",
"scene_id": "string"
},
"secure_link": true,
"transcoding_settings": {
"audio_bitrate": 32,
"autostart": true,
"drm": {
"fairplay": true,
"playready": true,
"widevine": true
},
"enabled": true,
"follow_source_fps": true,
"gop": 25,
"interlacing_filter_mode": "INTERLACING_FILTER_MODE_UNSPECIFIED",
"key_frame_interval": 1,
"level": 0.1,
"llhls_settings": {
"is_enabled": true,
"part_size": 250,
"segment_count": 10,
"segment_size": 1
},
"low_latency": true,
"profile": "TRANSCODING_PROFILE_UNSPECIFIED",
"segment_size": 1,
"tracking_pixel": true,
"use_cdn": true,
"video_representation_ids": [
"string"
],
"watermark": {
"enabled": true,
"url": "https://images.mls.mycujoo.tv/example.png"
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | (empty) | mycujoo.streaming.v1.StreamConfig |
default | Default | An unexpected error response. | google.rpc.Status |
GetConfigIamPolicy
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/streaming/v1/configs/{config_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": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://mcls-api.mycujoo.tv/streaming/v1/configs/{config_id}/iam_policy", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/streaming/v1/configs/{config_id}/iam_policy 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/streaming/v1/configs/{config_id}/iam_policy',
{
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/streaming/v1/configs/{config_id}/iam_policy',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /streaming/v1/configs/{config_id}/iam_policy
Returns current IAM policy for the streaming config. Use returned policy and etag to update policy.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
config_id | path | string | true | none |
Example responses
200 Response
{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
},
"resource_hierarchy": [
{
"id": "elevendata",
"type": "project"
}
],
"resource_title": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.streaming.v1.GetConfigIamPolicyResponse |
default | Default | An unexpected error response. | google.rpc.Status |
SetConfigIamPolicy
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/streaming/v1/configs/{config_id}/iam_policy', 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/streaming/v1/configs/{config_id}/iam_policy", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/streaming/v1/configs/{config_id}/iam_policy HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/configs/{config_id}/iam_policy',
{
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 = {
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
}
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/configs/{config_id}/iam_policy',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /streaming/v1/configs/{config_id}/iam_policy
Set IAM policy for the streaming config. This method replaces all existing policy bindings for the streaming config. To prevent overwriting existing policy bindings that were written concurrently, use the etag field to perform a read-modify-write operation.
Body parameter
{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
config_id | path | string | true | none |
body | body | object | true | none |
ยป etag | body | string(byte) | false | none |
ยป policy | body | mycujoo.auth.v1.Policy | true | Authorization policy. |
ยปยป bindings | body | [mycujoo.auth.v1.Binding] | false | List of bindings to the policy. If empty, the policy will not have any effect. |
ยปยปยป account_ids | body | [string] | false | List of account identifiers (referencing mycujoo.accounts.v1.Account ) that have the role. |
ยปยปยป include_all_organization_accounts | body | boolean | false | If this is set to true then the role is granted to all accounts in the organization. It overrides the account_ids field. |
ยปยปยป role_id | body | string | false | none |
Detailed descriptions
ยปยป bindings: List of bindings to the policy. If empty, the policy will not have any effect. Total number of accounts referenced in the bindings should be up to 1500. If same account has multiple roles - it is counted multiple times.
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.streaming.v1.SetConfigIamPolicyResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Patch a single pull endpoint
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.patch('https://mcls-api.mycujoo.tv/streaming/v1/endpoints/pull/{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/streaming/v1/endpoints/pull/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH https://mcls-api.mycujoo.tv/streaming/v1/endpoints/pull/{id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"config_id": "string",
"scene_settings": {
"is_enabled": true,
"key_color": "SCENE_KEY_COLOR_UNSPECIFIED",
"scene_id": "string",
"variables": {
"property1": "string",
"property2": "string"
}
},
"video_representation_id": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/endpoints/pull/{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 = {
"config_id": "string",
"scene_settings": {
"is_enabled": true,
"key_color": "SCENE_KEY_COLOR_UNSPECIFIED",
"scene_id": "string",
"variables": {
"property1": "string",
"property2": "string"
}
},
"video_representation_id": "string"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/endpoints/pull/{id}',
{
method: 'PATCH',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PATCH /streaming/v1/endpoints/pull/{id}
Patches a single pull endpoint.
Body parameter
{
"config_id": "string",
"scene_settings": {
"is_enabled": true,
"key_color": "SCENE_KEY_COLOR_UNSPECIFIED",
"scene_id": "string",
"variables": {
"property1": "string",
"property2": "string"
}
},
"video_representation_id": "string"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | ID of the pull endpoint |
body | body | mycujoo.streaming.v1.PullEndpointUpdate | true | Update |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.streaming.v1.UpdatePullEndpointResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Creates a push endpoint for the stream
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/streaming/v1/endpoints/push', 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/streaming/v1/endpoints/push", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/streaming/v1/endpoints/push HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"config_id": "qurnvkspnrjqk",
"endpoint": "rtmp://something/live",
"protocol": "RTMP",
"stream_id": "abcdefghi"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/endpoints/push',
{
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 = {
"config_id": "qurnvkspnrjqk",
"endpoint": "rtmp://something/live",
"protocol": "RTMP",
"stream_id": "abcdefghi"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/endpoints/push',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /streaming/v1/endpoints/push
Creates a push endpoint for the stream
Body parameter
{
"config_id": "qurnvkspnrjqk",
"endpoint": "rtmp://something/live",
"protocol": "RTMP",
"stream_id": "abcdefghi"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | mycujoo.streaming.v1.CreatePushEndpointRequest | true | none |
Example responses
200 Response
{
"config_id": "qurnvkspnrjqk",
"endpoint": "rtmp://something/live",
"protocol": "RTMP",
"stream_id": "abcdefghi"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | (empty) | mycujoo.streaming.v1.StreamPushEndpoint |
default | Default | An unexpected error response. | google.rpc.Status |
Updates a push endpoint
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.patch('https://mcls-api.mycujoo.tv/streaming/v1/endpoints/push', 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/streaming/v1/endpoints/push", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH https://mcls-api.mycujoo.tv/streaming/v1/endpoints/push HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"config_id": "qurnvkspnrjqk",
"endpoint": "rtmp://something/live",
"protocol": "RTMP",
"stream_id": "abcdefghi"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/endpoints/push',
{
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 = {
"config_id": "qurnvkspnrjqk",
"endpoint": "rtmp://something/live",
"protocol": "RTMP",
"stream_id": "abcdefghi"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/endpoints/push',
{
method: 'PATCH',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PATCH /streaming/v1/endpoints/push
Updates a push endpoint
Body parameter
{
"config_id": "qurnvkspnrjqk",
"endpoint": "rtmp://something/live",
"protocol": "RTMP",
"stream_id": "abcdefghi"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | mycujoo.streaming.v1.StreamPushEndpoint | true | Stream push endpoint information to replace existing information. |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.streaming.v1.UpdatePushEndpointResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Delete the push endpoint
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.delete('https://mcls-api.mycujoo.tv/streaming/v1/endpoints/push/{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/streaming/v1/endpoints/push/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE https://mcls-api.mycujoo.tv/streaming/v1/endpoints/push/{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/streaming/v1/endpoints/push/{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/streaming/v1/endpoints/push/{id}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE /streaming/v1/endpoints/push/{id}
Delete the push endpoint
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.streaming.v1.DeletePushEndpointResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Re-creates the push endpoint job
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/streaming/v1/endpoints/push/{id}/restart', 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/streaming/v1/endpoints/push/{id}/restart", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/streaming/v1/endpoints/push/{id}/restart 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/streaming/v1/endpoints/push/{id}/restart',
{
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/streaming/v1/endpoints/push/{id}/restart',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /streaming/v1/endpoints/push/{id}/restart
Re-creates the push endpoint job
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.streaming.v1.RestartPushEndpointResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Creates the push endpoint job
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/streaming/v1/endpoints/push/{id}/start', 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/streaming/v1/endpoints/push/{id}/start", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/streaming/v1/endpoints/push/{id}/start 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/streaming/v1/endpoints/push/{id}/start',
{
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/streaming/v1/endpoints/push/{id}/start',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /streaming/v1/endpoints/push/{id}/start
Creates a push endpoint job
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.streaming.v1.StartPushEndpointResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Stops the push endpoint job
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/streaming/v1/endpoints/push/{id}/stop', 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/streaming/v1/endpoints/push/{id}/stop", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/streaming/v1/endpoints/push/{id}/stop 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/streaming/v1/endpoints/push/{id}/stop',
{
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/streaming/v1/endpoints/push/{id}/stop',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /streaming/v1/endpoints/push/{id}/stop
Stops the push endpoint job
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.streaming.v1.StopPushEndpointResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Returns a list of pull ingests
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/streaming/v1/pull_ingest', params={
'page_size': '0'
}, 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/streaming/v1/pull_ingest", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/streaming/v1/pull_ingest?page_size=0 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/streaming/v1/pull_ingest?page_size=0',
{
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/streaming/v1/pull_ingest?page_size=0',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /streaming/v1/pull_ingest
List all pull ingest endpoints that connected to your account.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
page_size | query | integer(int32) | true | Maximum number of records to return |
page_token | query | string | false | The pagination token in the List request. |
Example responses
200 Response
{
"next_page_token": "string",
"previous_page_token": "string",
"pull_ingest_endpoints": [
{
"endpoint": "string",
"id": "string",
"name": "string",
"protocol": "PULL_INGEST_PROTOCOL_UNSPECIFIED",
"streams": [
{
"status": "PULL_INGEST_STATUS_UNSPECIFIED",
"stream_id": "string"
}
]
}
],
"total_size": 0
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.streaming.v1.ListPullIngestResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Creates a pull ingest endpoint
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/streaming/v1/pull_ingest', 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/streaming/v1/pull_ingest", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/streaming/v1/pull_ingest HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"endpoint": "string",
"name": "string",
"protocol": "PULL_INGEST_PROTOCOL_UNSPECIFIED"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/pull_ingest',
{
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 = {
"endpoint": "string",
"name": "string",
"protocol": "PULL_INGEST_PROTOCOL_UNSPECIFIED"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/pull_ingest',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /streaming/v1/pull_ingest
Creates a pull ingest endpoint
Body parameter
{
"endpoint": "string",
"name": "string",
"protocol": "PULL_INGEST_PROTOCOL_UNSPECIFIED"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | mycujoo.streaming.v1.CreatePullIngestRequest | true | none |
Example responses
200 Response
{
"endpoint": "string",
"id": "string",
"name": "string",
"protocol": "PULL_INGEST_PROTOCOL_UNSPECIFIED",
"streams": [
{
"status": "PULL_INGEST_STATUS_UNSPECIFIED",
"stream_id": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | (empty) | mycujoo.streaming.v1.PullIngestEndpoint |
default | Default | An unexpected error response. | google.rpc.Status |
StreamService_PullIngestTestIamPermissions
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/streaming/v1/pull_ingest/test_iam_permissions', 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/streaming/v1/pull_ingest/test_iam_permissions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/streaming/v1/pull_ingest/test_iam_permissions HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/pull_ingest/test_iam_permissions',
{
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 = {
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/pull_ingest/test_iam_permissions',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /streaming/v1/pull_ingest/test_iam_permissions
Body parameter
{
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | mycujoo.streaming.v1.PullIngestTestIamPermissionsRequest | true | none |
Example responses
200 Response
{
"permissions": [
"projects.create",
"projects.update"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.streaming.v1.PullIngestTestIamPermissionsResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Returns pull ingest info
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/streaming/v1/pull_ingest/{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/streaming/v1/pull_ingest/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/streaming/v1/pull_ingest/{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/streaming/v1/pull_ingest/{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/streaming/v1/pull_ingest/{id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /streaming/v1/pull_ingest/{id}
Returns pull ingest info
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | none |
Example responses
200 Response
{
"pull_ingest": {
"endpoint": "string",
"id": "string",
"name": "string",
"protocol": "PULL_INGEST_PROTOCOL_UNSPECIFIED",
"streams": [
{
"status": "PULL_INGEST_STATUS_UNSPECIFIED",
"stream_id": "string"
}
]
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.streaming.v1.GetPullIngestResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Deletes pull ingest endpoint
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.delete('https://mcls-api.mycujoo.tv/streaming/v1/pull_ingest/{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/streaming/v1/pull_ingest/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE https://mcls-api.mycujoo.tv/streaming/v1/pull_ingest/{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/streaming/v1/pull_ingest/{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/streaming/v1/pull_ingest/{id}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE /streaming/v1/pull_ingest/{id}
Deletes pull ingest endpoint
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.streaming.v1.DeletePullIngestResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Retrieves stream's pull ingest current status
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/streaming/v1/pull_ingest/{id}/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/streaming/v1/pull_ingest/{id}/streams/{stream_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/streaming/v1/pull_ingest/{id}/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/streaming/v1/pull_ingest/{id}/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/streaming/v1/pull_ingest/{id}/streams/{stream_id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /streaming/v1/pull_ingest/{id}/streams/{stream_id}
Retrieves stream's pull ingest current status
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | none |
stream_id | path | string | true | none |
Example responses
200 Response
{
"stream_pull_ingest": {
"endpoint": "string",
"id": "string",
"name": "string",
"protocol": "PULL_INGEST_PROTOCOL_UNSPECIFIED",
"status": "PULL_INGEST_STATUS_UNSPECIFIED",
"stream_id": "string"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.streaming.v1.GetStreamPullIngestResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Restarts pulling ingest
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/streaming/v1/pull_ingest/{id}/streams/{stream_id}/restart', 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/streaming/v1/pull_ingest/{id}/streams/{stream_id}/restart", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/streaming/v1/pull_ingest/{id}/streams/{stream_id}/restart 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/streaming/v1/pull_ingest/{id}/streams/{stream_id}/restart',
{
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/streaming/v1/pull_ingest/{id}/streams/{stream_id}/restart',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /streaming/v1/pull_ingest/{id}/streams/{stream_id}/restart
Restarts pulling ingest
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | none |
stream_id | path | string | true | none |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.streaming.v1.RestartStreamPullIngestResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Starts pulling from the endpoint and send that to the target stream
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/streaming/v1/pull_ingest/{id}/streams/{stream_id}/start', 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/streaming/v1/pull_ingest/{id}/streams/{stream_id}/start", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/streaming/v1/pull_ingest/{id}/streams/{stream_id}/start 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/streaming/v1/pull_ingest/{id}/streams/{stream_id}/start',
{
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/streaming/v1/pull_ingest/{id}/streams/{stream_id}/start',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /streaming/v1/pull_ingest/{id}/streams/{stream_id}/start
Starts pulling from the endpoint and send that to the target stream
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | none |
stream_id | path | string | true | none |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.streaming.v1.StartStreamPullIngestResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Stops pulling ingest
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/streaming/v1/pull_ingest/{id}/streams/{stream_id}/stop', 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/streaming/v1/pull_ingest/{id}/streams/{stream_id}/stop", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/streaming/v1/pull_ingest/{id}/streams/{stream_id}/stop 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/streaming/v1/pull_ingest/{id}/streams/{stream_id}/stop',
{
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/streaming/v1/pull_ingest/{id}/streams/{stream_id}/stop',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /streaming/v1/pull_ingest/{id}/streams/{stream_id}/stop
Stops pulling ingest
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | none |
stream_id | path | string | true | none |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.streaming.v1.StopStreamPullIngestResponse |
default | Default | An unexpected error response. | google.rpc.Status |
GetPullIngestIamPolicy
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/streaming/v1/pull_ingest/{pull_ingest_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": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://mcls-api.mycujoo.tv/streaming/v1/pull_ingest/{pull_ingest_id}/iam_policy", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/streaming/v1/pull_ingest/{pull_ingest_id}/iam_policy 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/streaming/v1/pull_ingest/{pull_ingest_id}/iam_policy',
{
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/streaming/v1/pull_ingest/{pull_ingest_id}/iam_policy',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /streaming/v1/pull_ingest/{pull_ingest_id}/iam_policy
Returns current IAM policy for the pull ingest. Use returned policy and etag to update policy.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
pull_ingest_id | path | string | true | none |
Example responses
200 Response
{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.streaming.v1.GetPullIngestIamPolicyResponse |
default | Default | An unexpected error response. | google.rpc.Status |
SetPullIngestIamPolicy
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/streaming/v1/pull_ingest/{pull_ingest_id}/iam_policy', 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/streaming/v1/pull_ingest/{pull_ingest_id}/iam_policy", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/streaming/v1/pull_ingest/{pull_ingest_id}/iam_policy HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/pull_ingest/{pull_ingest_id}/iam_policy',
{
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 = {
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
}
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/pull_ingest/{pull_ingest_id}/iam_policy',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /streaming/v1/pull_ingest/{pull_ingest_id}/iam_policy
Set IAM policy for the pull ingest. This method replaces all existing policy bindings for the pull ingest. To prevent overwriting existing policy bindings that were written concurrently, use the etag field to perform a read-modify-write operation.
Body parameter
{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
pull_ingest_id | path | string | true | none |
body | body | object | true | none |
ยป etag | body | string(byte) | false | none |
ยป policy | body | mycujoo.auth.v1.Policy | true | Authorization policy. |
ยปยป bindings | body | [mycujoo.auth.v1.Binding] | false | List of bindings to the policy. If empty, the policy will not have any effect. |
ยปยปยป account_ids | body | [string] | false | List of account identifiers (referencing mycujoo.accounts.v1.Account ) that have the role. |
ยปยปยป include_all_organization_accounts | body | boolean | false | If this is set to true then the role is granted to all accounts in the organization. It overrides the account_ids field. |
ยปยปยป role_id | body | string | false | none |
Detailed descriptions
ยปยป bindings: List of bindings to the policy. If empty, the policy will not have any effect. Total number of accounts referenced in the bindings should be up to 1500. If same account has multiple roles - it is counted multiple times.
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.streaming.v1.SetPullIngestIamPolicyResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Fetches the (organization level) secure key
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/streaming/v1/secure_key', 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/streaming/v1/secure_key", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/streaming/v1/secure_key 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/streaming/v1/secure_key',
{
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/streaming/v1/secure_key',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /streaming/v1/secure_key
Fetches the secure key
Example responses
200 Response
{
"secure_key": {
"key": "string",
"version": "string"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.streaming.v1.GetSecureKeyResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Generates a new secure key
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/streaming/v1/secure_key', 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/streaming/v1/secure_key", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/streaming/v1/secure_key HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"version": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/secure_key',
{
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 = {
"version": "string"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/secure_key',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /streaming/v1/secure_key
Generates a new secure key
Body parameter
{
"version": "string"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | mycujoo.streaming.v1.SecureKeyUpdate | true | none |
Example responses
200 Response
{
"key": "string",
"version": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | (empty) | mycujoo.streaming.v1.SecureKey |
default | Default | An unexpected error response. | google.rpc.Status |
Returns a list of streams
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/streaming/v1/streams', 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/streaming/v1/streams", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/streaming/v1/streams 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/streaming/v1/streams',
{
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/streaming/v1/streams',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /streaming/v1/streams
List all the streams connected to your account.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
filter | query | string | false | Filters the list of the result |
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
filter: Filters the list of the result
Valid filters are
region
, active
, is_enabled
, stream_key
, project_id
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",
"streams": [
{
"config": {
"auto_enable_vpn_blocking": true,
"default": true,
"dvr_settings": {
"automatic_vod": true,
"enabled": true,
"stop_transcoding_full_dvr": true,
"window_size": 1
},
"enable_pull_endpoint": true,
"enable_raw_pull_endpoint": true,
"id": "string",
"is_system": true,
"name": "string",
"recording_settings": {
"autostart": true,
"enabled": true,
"record_during_transcoding": true
},
"scene_settings": {
"is_enabled": true,
"key_color": "SCENE_KEY_COLOR_UNSPECIFIED",
"scene_id": "string"
},
"secure_link": true,
"transcoding_settings": {
"audio_bitrate": 32,
"autostart": true,
"drm": {
"fairplay": true,
"playready": true,
"widevine": true
},
"enabled": true,
"follow_source_fps": true,
"gop": 25,
"interlacing_filter_mode": "INTERLACING_FILTER_MODE_UNSPECIFIED",
"key_frame_interval": 1,
"level": 0.1,
"llhls_settings": {
"is_enabled": true,
"part_size": 250,
"segment_count": 10,
"segment_size": 1
},
"low_latency": true,
"profile": "TRANSCODING_PROFILE_UNSPECIFIED",
"segment_size": 1,
"tracking_pixel": true,
"use_cdn": true,
"video_representation_ids": [
"string"
],
"watermark": {
"enabled": true,
"url": "https://images.mls.mycujoo.tv/example.png"
}
}
},
"config_id": "string",
"connection_time_seconds": 0,
"endpoint": "string",
"external_video_source": "string",
"id": "string",
"incoming_feed": {
"device": {
"flash_version": "string",
"name": "string"
},
"http_flv_endpoint": "string",
"is_active": true,
"protocol": "INGEST_PROTOCOL_UNSPECIFIED",
"session_id": "string"
},
"incoming_feed_flv": "string",
"is_active": true,
"is_enabled": true,
"is_public": true,
"is_published": true,
"key": "string",
"media_source_id": "string",
"playlists": [
{
"id": "string",
"is_enabled": true,
"is_transcoded": true,
"is_updating": true,
"is_vod": true,
"protocol": "PROTOCOL_UNSPECIFIED",
"type": "TYPE_UNSPECIFIED",
"url": "string"
}
],
"project_id": "string",
"pull_endpoints": [
{
"config_id": "string",
"endpoint": "string",
"id": "string",
"is_transcoded": true,
"protocol": "PROTOCOL_UNSPECIFIED",
"scene_settings": {
"is_enabled": true,
"key_color": "SCENE_KEY_COLOR_UNSPECIFIED",
"scene_id": "string",
"variables": {
"property1": "string",
"property2": "string"
}
},
"video_representation_id": "string"
}
],
"pull_ingest_id": "string",
"push_endpoints": [
{
"config_id": "qurnvkspnrjqk",
"endpoint": "rtmp://something/live",
"protocol": "RTMP",
"stream_id": "abcdefghi"
}
],
"push_ingest_endpoints": [
{
"endpoint": "string",
"in_use": true,
"protocol": "PUSH_INGEST_PROTOCOL_UNSPECIFIED",
"region": "REGION_UNSPECIFIED",
"secure_endpoint": "string",
"secure_uri": "string",
"support_tls": true,
"uri": "string"
}
],
"region": "REGION_UNSPECIFIED",
"stats": {
"audio_bit_rate": 0,
"audios": [
{
"bit_rate": 0,
"channel_layout": "string",
"channels": 0,
"codec": "string",
"codec_long_name": "string",
"codec_type": "string",
"index": 0,
"profile": "string",
"sample_fmt": "string",
"sample_rate": 0
}
],
"connection_count": 0,
"sample": {
"audio_bit_rate": 0,
"video_bit_rate": 0,
"video_frame_rate": 0.1,
"video_key_frame_consistent": true,
"video_key_frame_interval": 0.1,
"video_resolution": 0
},
"video_bit_rate": 0,
"video_frame_rate": 0.1,
"video_key_frame_consistent": true,
"video_key_frame_interval": 0.1,
"video_resolution": 0,
"videos": [
{
"bit_rate": 0,
"codec": "string",
"codec_long_name": "string",
"codec_type": "string",
"frame_rate": 0.1,
"height": 0,
"index": 0,
"level": 0,
"pix_fmt": "string",
"profile": "string",
"resolution": 0,
"start_pts": 0,
"width": 0
}
]
},
"title": "string",
"transcoding_state": "STATE_UNSPECIFIED",
"transcoding_time_seconds": 0,
"type": "TYPE_UNSPECIFIED",
"upload_id": "string",
"vod_asset_id": "string"
}
],
"total_size": 0
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.streaming.v1.ListStreamsResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Creates a new stream
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/streaming/v1/streams', 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/streaming/v1/streams", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/streaming/v1/streams HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"config_id": "string",
"external_video_source": "string",
"is_enabled": true,
"is_public": true,
"is_published": true,
"media_source_id": "string",
"project_id": "string",
"pull_config": {
"config_id": "string",
"video_representation_id": "string"
},
"pull_ingest_id": "string",
"push_endpoints": [
{
"config_id": "qurnvkspnrjqk",
"endpoint": "rtmp://something/live",
"protocol": "RTMP",
"stream_id": "abcdefghi"
}
],
"region": "REGION_UNSPECIFIED",
"title": "string",
"type": "TYPE_UNSPECIFIED",
"upload_id": "string",
"vod_asset_id": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/streams',
{
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 = {
"config_id": "string",
"external_video_source": "string",
"is_enabled": true,
"is_public": true,
"is_published": true,
"media_source_id": "string",
"project_id": "string",
"pull_config": {
"config_id": "string",
"video_representation_id": "string"
},
"pull_ingest_id": "string",
"push_endpoints": [
{
"config_id": "qurnvkspnrjqk",
"endpoint": "rtmp://something/live",
"protocol": "RTMP",
"stream_id": "abcdefghi"
}
],
"region": "REGION_UNSPECIFIED",
"title": "string",
"type": "TYPE_UNSPECIFIED",
"upload_id": "string",
"vod_asset_id": "string"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/streams',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /streaming/v1/streams
Creates a new stream.
Body parameter
{
"config_id": "string",
"external_video_source": "string",
"is_enabled": true,
"is_public": true,
"is_published": true,
"media_source_id": "string",
"project_id": "string",
"pull_config": {
"config_id": "string",
"video_representation_id": "string"
},
"pull_ingest_id": "string",
"push_endpoints": [
{
"config_id": "qurnvkspnrjqk",
"endpoint": "rtmp://something/live",
"protocol": "RTMP",
"stream_id": "abcdefghi"
}
],
"region": "REGION_UNSPECIFIED",
"title": "string",
"type": "TYPE_UNSPECIFIED",
"upload_id": "string",
"vod_asset_id": "string"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | mycujoo.streaming.v1.StreamUpdate | true | none |
Example responses
200 Response
{
"config": {
"auto_enable_vpn_blocking": true,
"default": true,
"dvr_settings": {
"automatic_vod": true,
"enabled": true,
"stop_transcoding_full_dvr": true,
"window_size": 1
},
"enable_pull_endpoint": true,
"enable_raw_pull_endpoint": true,
"id": "string",
"is_system": true,
"name": "string",
"recording_settings": {
"autostart": true,
"enabled": true,
"record_during_transcoding": true
},
"scene_settings": {
"is_enabled": true,
"key_color": "SCENE_KEY_COLOR_UNSPECIFIED",
"scene_id": "string"
},
"secure_link": true,
"transcoding_settings": {
"audio_bitrate": 32,
"autostart": true,
"drm": {
"fairplay": true,
"playready": true,
"widevine": true
},
"enabled": true,
"follow_source_fps": true,
"gop": 25,
"interlacing_filter_mode": "INTERLACING_FILTER_MODE_UNSPECIFIED",
"key_frame_interval": 1,
"level": 0.1,
"llhls_settings": {
"is_enabled": true,
"part_size": 250,
"segment_count": 10,
"segment_size": 1
},
"low_latency": true,
"profile": "TRANSCODING_PROFILE_UNSPECIFIED",
"segment_size": 1,
"tracking_pixel": true,
"use_cdn": true,
"video_representation_ids": [
"string"
],
"watermark": {
"enabled": true,
"url": "https://images.mls.mycujoo.tv/example.png"
}
}
},
"config_id": "string",
"connection_time_seconds": 0,
"endpoint": "string",
"external_video_source": "string",
"id": "string",
"incoming_feed": {
"device": {
"flash_version": "string",
"name": "string"
},
"http_flv_endpoint": "string",
"is_active": true,
"protocol": "INGEST_PROTOCOL_UNSPECIFIED",
"session_id": "string"
},
"incoming_feed_flv": "string",
"is_active": true,
"is_enabled": true,
"is_public": true,
"is_published": true,
"key": "string",
"media_source_id": "string",
"playlists": [
{
"id": "string",
"is_enabled": true,
"is_transcoded": true,
"is_updating": true,
"is_vod": true,
"protocol": "PROTOCOL_UNSPECIFIED",
"type": "TYPE_UNSPECIFIED",
"url": "string"
}
],
"project_id": "string",
"pull_endpoints": [
{
"config_id": "string",
"endpoint": "string",
"id": "string",
"is_transcoded": true,
"protocol": "PROTOCOL_UNSPECIFIED",
"scene_settings": {
"is_enabled": true,
"key_color": "SCENE_KEY_COLOR_UNSPECIFIED",
"scene_id": "string",
"variables": {
"property1": "string",
"property2": "string"
}
},
"video_representation_id": "string"
}
],
"pull_ingest_id": "string",
"push_endpoints": [
{
"config_id": "qurnvkspnrjqk",
"endpoint": "rtmp://something/live",
"protocol": "RTMP",
"stream_id": "abcdefghi"
}
],
"push_ingest_endpoints": [
{
"endpoint": "string",
"in_use": true,
"protocol": "PUSH_INGEST_PROTOCOL_UNSPECIFIED",
"region": "REGION_UNSPECIFIED",
"secure_endpoint": "string",
"secure_uri": "string",
"support_tls": true,
"uri": "string"
}
],
"region": "REGION_UNSPECIFIED",
"stats": {
"audio_bit_rate": 0,
"audios": [
{
"bit_rate": 0,
"channel_layout": "string",
"channels": 0,
"codec": "string",
"codec_long_name": "string",
"codec_type": "string",
"index": 0,
"profile": "string",
"sample_fmt": "string",
"sample_rate": 0
}
],
"connection_count": 0,
"sample": {
"audio_bit_rate": 0,
"video_bit_rate": 0,
"video_frame_rate": 0.1,
"video_key_frame_consistent": true,
"video_key_frame_interval": 0.1,
"video_resolution": 0
},
"video_bit_rate": 0,
"video_frame_rate": 0.1,
"video_key_frame_consistent": true,
"video_key_frame_interval": 0.1,
"video_resolution": 0,
"videos": [
{
"bit_rate": 0,
"codec": "string",
"codec_long_name": "string",
"codec_type": "string",
"frame_rate": 0.1,
"height": 0,
"index": 0,
"level": 0,
"pix_fmt": "string",
"profile": "string",
"resolution": 0,
"start_pts": 0,
"width": 0
}
]
},
"title": "string",
"transcoding_state": "STATE_UNSPECIFIED",
"transcoding_time_seconds": 0,
"type": "TYPE_UNSPECIFIED",
"upload_id": "string",
"vod_asset_id": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | (empty) | mycujoo.streaming.v1.Stream |
default | Default | An unexpected error response. | google.rpc.Status |
Returns a list of simple streams by ids
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/streaming/v1/streams/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("GET", "https://mcls-api.mycujoo.tv/streaming/v1/streams/batch", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/streaming/v1/streams/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/streaming/v1/streams/batch',
{
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/streaming/v1/streams/batch',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /streaming/v1/streams/batch
Returns a list of streams by ids.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
ids | query | array[string] | false | stream ids |
Example responses
200 Response
{
"streams": [
{
"config": {
"auto_enable_vpn_blocking": true,
"default": true,
"dvr_settings": {
"automatic_vod": true,
"enabled": true,
"stop_transcoding_full_dvr": true,
"window_size": 1
},
"enable_pull_endpoint": true,
"enable_raw_pull_endpoint": true,
"id": "string",
"is_system": true,
"name": "string",
"recording_settings": {
"autostart": true,
"enabled": true,
"record_during_transcoding": true
},
"scene_settings": {
"is_enabled": true,
"key_color": "SCENE_KEY_COLOR_UNSPECIFIED",
"scene_id": "string"
},
"secure_link": true,
"transcoding_settings": {
"audio_bitrate": 32,
"autostart": true,
"drm": {
"fairplay": true,
"playready": true,
"widevine": true
},
"enabled": true,
"follow_source_fps": true,
"gop": 25,
"interlacing_filter_mode": "INTERLACING_FILTER_MODE_UNSPECIFIED",
"key_frame_interval": 1,
"level": 0.1,
"llhls_settings": {
"is_enabled": true,
"part_size": 250,
"segment_count": 10,
"segment_size": 1
},
"low_latency": true,
"profile": "TRANSCODING_PROFILE_UNSPECIFIED",
"segment_size": 1,
"tracking_pixel": true,
"use_cdn": true,
"video_representation_ids": [
"string"
],
"watermark": {
"enabled": true,
"url": "https://images.mls.mycujoo.tv/example.png"
}
}
},
"config_id": "string",
"connection_time_seconds": 0,
"endpoint": "string",
"external_video_source": "string",
"id": "string",
"incoming_feed": {
"device": {
"flash_version": "string",
"name": "string"
},
"http_flv_endpoint": "string",
"is_active": true,
"protocol": "INGEST_PROTOCOL_UNSPECIFIED",
"session_id": "string"
},
"incoming_feed_flv": "string",
"is_active": true,
"is_enabled": true,
"is_public": true,
"is_published": true,
"key": "string",
"media_source_id": "string",
"playlists": [
{
"id": "string",
"is_enabled": true,
"is_transcoded": true,
"is_updating": true,
"is_vod": true,
"protocol": "PROTOCOL_UNSPECIFIED",
"type": "TYPE_UNSPECIFIED",
"url": "string"
}
],
"project_id": "string",
"pull_endpoints": [
{
"config_id": "string",
"endpoint": "string",
"id": "string",
"is_transcoded": true,
"protocol": "PROTOCOL_UNSPECIFIED",
"scene_settings": {
"is_enabled": true,
"key_color": "SCENE_KEY_COLOR_UNSPECIFIED",
"scene_id": "string",
"variables": {
"property1": "string",
"property2": "string"
}
},
"video_representation_id": "string"
}
],
"pull_ingest_id": "string",
"push_endpoints": [
{
"config_id": "qurnvkspnrjqk",
"endpoint": "rtmp://something/live",
"protocol": "RTMP",
"stream_id": "abcdefghi"
}
],
"push_ingest_endpoints": [
{
"endpoint": "string",
"in_use": true,
"protocol": "PUSH_INGEST_PROTOCOL_UNSPECIFIED",
"region": "REGION_UNSPECIFIED",
"secure_endpoint": "string",
"secure_uri": "string",
"support_tls": true,
"uri": "string"
}
],
"region": "REGION_UNSPECIFIED",
"stats": {
"audio_bit_rate": 0,
"audios": [
{
"bit_rate": 0,
"channel_layout": "string",
"channels": 0,
"codec": "string",
"codec_long_name": "string",
"codec_type": "string",
"index": 0,
"profile": "string",
"sample_fmt": "string",
"sample_rate": 0
}
],
"connection_count": 0,
"sample": {
"audio_bit_rate": 0,
"video_bit_rate": 0,
"video_frame_rate": 0.1,
"video_key_frame_consistent": true,
"video_key_frame_interval": 0.1,
"video_resolution": 0
},
"video_bit_rate": 0,
"video_frame_rate": 0.1,
"video_key_frame_consistent": true,
"video_key_frame_interval": 0.1,
"video_resolution": 0,
"videos": [
{
"bit_rate": 0,
"codec": "string",
"codec_long_name": "string",
"codec_type": "string",
"frame_rate": 0.1,
"height": 0,
"index": 0,
"level": 0,
"pix_fmt": "string",
"profile": "string",
"resolution": 0,
"start_pts": 0,
"width": 0
}
]
},
"title": "string",
"transcoding_state": "STATE_UNSPECIFIED",
"transcoding_time_seconds": 0,
"type": "TYPE_UNSPECIFIED",
"upload_id": "string",
"vod_asset_id": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.streaming.v1.BatchGetStreamsResponse |
default | Default | An unexpected error response. | google.rpc.Status |
TestIamPermissions
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/streaming/v1/streams/test_iam_permissions', 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/streaming/v1/streams/test_iam_permissions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/streaming/v1/streams/test_iam_permissions HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/streams/test_iam_permissions',
{
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 = {
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/streams/test_iam_permissions',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /streaming/v1/streams/test_iam_permissions
This method validates the current account given a list of permissions. Used for UI
Body parameter
{
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | mycujoo.streaming.v1.StreamTestIamPermissionsRequest | true | none |
Example responses
200 Response
{
"permissions": [
"projects.create",
"projects.update"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.streaming.v1.StreamTestIamPermissionsResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Returns a single stream
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/streaming/v1/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/streaming/v1/streams/{stream_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/streaming/v1/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/streaming/v1/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/streaming/v1/streams/{stream_id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /streaming/v1/streams/{stream_id}
Returns a single Stream resource.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
stream_id | path | string | true | The stream ID |
Example responses
200 Response
{
"config": {
"auto_enable_vpn_blocking": true,
"default": true,
"dvr_settings": {
"automatic_vod": true,
"enabled": true,
"stop_transcoding_full_dvr": true,
"window_size": 1
},
"enable_pull_endpoint": true,
"enable_raw_pull_endpoint": true,
"id": "string",
"is_system": true,
"name": "string",
"recording_settings": {
"autostart": true,
"enabled": true,
"record_during_transcoding": true
},
"scene_settings": {
"is_enabled": true,
"key_color": "SCENE_KEY_COLOR_UNSPECIFIED",
"scene_id": "string"
},
"secure_link": true,
"transcoding_settings": {
"audio_bitrate": 32,
"autostart": true,
"drm": {
"fairplay": true,
"playready": true,
"widevine": true
},
"enabled": true,
"follow_source_fps": true,
"gop": 25,
"interlacing_filter_mode": "INTERLACING_FILTER_MODE_UNSPECIFIED",
"key_frame_interval": 1,
"level": 0.1,
"llhls_settings": {
"is_enabled": true,
"part_size": 250,
"segment_count": 10,
"segment_size": 1
},
"low_latency": true,
"profile": "TRANSCODING_PROFILE_UNSPECIFIED",
"segment_size": 1,
"tracking_pixel": true,
"use_cdn": true,
"video_representation_ids": [
"string"
],
"watermark": {
"enabled": true,
"url": "https://images.mls.mycujoo.tv/example.png"
}
}
},
"config_id": "string",
"connection_time_seconds": 0,
"endpoint": "string",
"external_video_source": "string",
"id": "string",
"incoming_feed": {
"device": {
"flash_version": "string",
"name": "string"
},
"http_flv_endpoint": "string",
"is_active": true,
"protocol": "INGEST_PROTOCOL_UNSPECIFIED",
"session_id": "string"
},
"incoming_feed_flv": "string",
"is_active": true,
"is_enabled": true,
"is_public": true,
"is_published": true,
"key": "string",
"media_source_id": "string",
"playlists": [
{
"id": "string",
"is_enabled": true,
"is_transcoded": true,
"is_updating": true,
"is_vod": true,
"protocol": "PROTOCOL_UNSPECIFIED",
"type": "TYPE_UNSPECIFIED",
"url": "string"
}
],
"project_id": "string",
"pull_endpoints": [
{
"config_id": "string",
"endpoint": "string",
"id": "string",
"is_transcoded": true,
"protocol": "PROTOCOL_UNSPECIFIED",
"scene_settings": {
"is_enabled": true,
"key_color": "SCENE_KEY_COLOR_UNSPECIFIED",
"scene_id": "string",
"variables": {
"property1": "string",
"property2": "string"
}
},
"video_representation_id": "string"
}
],
"pull_ingest_id": "string",
"push_endpoints": [
{
"config_id": "qurnvkspnrjqk",
"endpoint": "rtmp://something/live",
"protocol": "RTMP",
"stream_id": "abcdefghi"
}
],
"push_ingest_endpoints": [
{
"endpoint": "string",
"in_use": true,
"protocol": "PUSH_INGEST_PROTOCOL_UNSPECIFIED",
"region": "REGION_UNSPECIFIED",
"secure_endpoint": "string",
"secure_uri": "string",
"support_tls": true,
"uri": "string"
}
],
"region": "REGION_UNSPECIFIED",
"stats": {
"audio_bit_rate": 0,
"audios": [
{
"bit_rate": 0,
"channel_layout": "string",
"channels": 0,
"codec": "string",
"codec_long_name": "string",
"codec_type": "string",
"index": 0,
"profile": "string",
"sample_fmt": "string",
"sample_rate": 0
}
],
"connection_count": 0,
"sample": {
"audio_bit_rate": 0,
"video_bit_rate": 0,
"video_frame_rate": 0.1,
"video_key_frame_consistent": true,
"video_key_frame_interval": 0.1,
"video_resolution": 0
},
"video_bit_rate": 0,
"video_frame_rate": 0.1,
"video_key_frame_consistent": true,
"video_key_frame_interval": 0.1,
"video_resolution": 0,
"videos": [
{
"bit_rate": 0,
"codec": "string",
"codec_long_name": "string",
"codec_type": "string",
"frame_rate": 0.1,
"height": 0,
"index": 0,
"level": 0,
"pix_fmt": "string",
"profile": "string",
"resolution": 0,
"start_pts": 0,
"width": 0
}
]
},
"title": "string",
"transcoding_state": "STATE_UNSPECIFIED",
"transcoding_time_seconds": 0,
"type": "TYPE_UNSPECIFIED",
"upload_id": "string",
"vod_asset_id": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | (empty) | mycujoo.streaming.v1.Stream |
default | Default | An unexpected error response. | google.rpc.Status |
Deletes a single stream
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.delete('https://mcls-api.mycujoo.tv/streaming/v1/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("DELETE", "https://mcls-api.mycujoo.tv/streaming/v1/streams/{stream_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE https://mcls-api.mycujoo.tv/streaming/v1/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/streaming/v1/streams/{stream_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/streaming/v1/streams/{stream_id}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE /streaming/v1/streams/{stream_id}
Deletes a single Stream resource.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
stream_id | path | string | true | The stream ID |
purge | query | boolean | false | If set to true all information related to this stream is deleted and will not be recoverable. |
Detailed descriptions
purge: If set to true all information related to this stream is deleted and will not be recoverable. Resources deleted are: Recordings, VODs and all references to the stream. USE WITH CAUTION.
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.streaming.v1.DeleteStreamResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Patch a single stream
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.patch('https://mcls-api.mycujoo.tv/streaming/v1/streams/{stream_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/streaming/v1/streams/{stream_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH https://mcls-api.mycujoo.tv/streaming/v1/streams/{stream_id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"config_id": "string",
"external_video_source": "string",
"is_enabled": true,
"is_public": true,
"is_published": true,
"media_source_id": "string",
"project_id": "string",
"pull_config": {
"config_id": "string",
"video_representation_id": "string"
},
"pull_ingest_id": "string",
"push_endpoints": [
{
"config_id": "qurnvkspnrjqk",
"endpoint": "rtmp://something/live",
"protocol": "RTMP",
"stream_id": "abcdefghi"
}
],
"region": "REGION_UNSPECIFIED",
"title": "string",
"type": "TYPE_UNSPECIFIED",
"upload_id": "string",
"vod_asset_id": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/streams/{stream_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 = {
"config_id": "string",
"external_video_source": "string",
"is_enabled": true,
"is_public": true,
"is_published": true,
"media_source_id": "string",
"project_id": "string",
"pull_config": {
"config_id": "string",
"video_representation_id": "string"
},
"pull_ingest_id": "string",
"push_endpoints": [
{
"config_id": "qurnvkspnrjqk",
"endpoint": "rtmp://something/live",
"protocol": "RTMP",
"stream_id": "abcdefghi"
}
],
"region": "REGION_UNSPECIFIED",
"title": "string",
"type": "TYPE_UNSPECIFIED",
"upload_id": "string",
"vod_asset_id": "string"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/streams/{stream_id}',
{
method: 'PATCH',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PATCH /streaming/v1/streams/{stream_id}
Patches a single Stream resource.
Body parameter
{
"config_id": "string",
"external_video_source": "string",
"is_enabled": true,
"is_public": true,
"is_published": true,
"media_source_id": "string",
"project_id": "string",
"pull_config": {
"config_id": "string",
"video_representation_id": "string"
},
"pull_ingest_id": "string",
"push_endpoints": [
{
"config_id": "qurnvkspnrjqk",
"endpoint": "rtmp://something/live",
"protocol": "RTMP",
"stream_id": "abcdefghi"
}
],
"region": "REGION_UNSPECIFIED",
"title": "string",
"type": "TYPE_UNSPECIFIED",
"upload_id": "string",
"vod_asset_id": "string"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
stream_id | path | string | true | The stream ID |
body | body | mycujoo.streaming.v1.StreamUpdate | true | Update |
Example responses
200 Response
{
"config": {
"auto_enable_vpn_blocking": true,
"default": true,
"dvr_settings": {
"automatic_vod": true,
"enabled": true,
"stop_transcoding_full_dvr": true,
"window_size": 1
},
"enable_pull_endpoint": true,
"enable_raw_pull_endpoint": true,
"id": "string",
"is_system": true,
"name": "string",
"recording_settings": {
"autostart": true,
"enabled": true,
"record_during_transcoding": true
},
"scene_settings": {
"is_enabled": true,
"key_color": "SCENE_KEY_COLOR_UNSPECIFIED",
"scene_id": "string"
},
"secure_link": true,
"transcoding_settings": {
"audio_bitrate": 32,
"autostart": true,
"drm": {
"fairplay": true,
"playready": true,
"widevine": true
},
"enabled": true,
"follow_source_fps": true,
"gop": 25,
"interlacing_filter_mode": "INTERLACING_FILTER_MODE_UNSPECIFIED",
"key_frame_interval": 1,
"level": 0.1,
"llhls_settings": {
"is_enabled": true,
"part_size": 250,
"segment_count": 10,
"segment_size": 1
},
"low_latency": true,
"profile": "TRANSCODING_PROFILE_UNSPECIFIED",
"segment_size": 1,
"tracking_pixel": true,
"use_cdn": true,
"video_representation_ids": [
"string"
],
"watermark": {
"enabled": true,
"url": "https://images.mls.mycujoo.tv/example.png"
}
}
},
"config_id": "string",
"connection_time_seconds": 0,
"endpoint": "string",
"external_video_source": "string",
"id": "string",
"incoming_feed": {
"device": {
"flash_version": "string",
"name": "string"
},
"http_flv_endpoint": "string",
"is_active": true,
"protocol": "INGEST_PROTOCOL_UNSPECIFIED",
"session_id": "string"
},
"incoming_feed_flv": "string",
"is_active": true,
"is_enabled": true,
"is_public": true,
"is_published": true,
"key": "string",
"media_source_id": "string",
"playlists": [
{
"id": "string",
"is_enabled": true,
"is_transcoded": true,
"is_updating": true,
"is_vod": true,
"protocol": "PROTOCOL_UNSPECIFIED",
"type": "TYPE_UNSPECIFIED",
"url": "string"
}
],
"project_id": "string",
"pull_endpoints": [
{
"config_id": "string",
"endpoint": "string",
"id": "string",
"is_transcoded": true,
"protocol": "PROTOCOL_UNSPECIFIED",
"scene_settings": {
"is_enabled": true,
"key_color": "SCENE_KEY_COLOR_UNSPECIFIED",
"scene_id": "string",
"variables": {
"property1": "string",
"property2": "string"
}
},
"video_representation_id": "string"
}
],
"pull_ingest_id": "string",
"push_endpoints": [
{
"config_id": "qurnvkspnrjqk",
"endpoint": "rtmp://something/live",
"protocol": "RTMP",
"stream_id": "abcdefghi"
}
],
"push_ingest_endpoints": [
{
"endpoint": "string",
"in_use": true,
"protocol": "PUSH_INGEST_PROTOCOL_UNSPECIFIED",
"region": "REGION_UNSPECIFIED",
"secure_endpoint": "string",
"secure_uri": "string",
"support_tls": true,
"uri": "string"
}
],
"region": "REGION_UNSPECIFIED",
"stats": {
"audio_bit_rate": 0,
"audios": [
{
"bit_rate": 0,
"channel_layout": "string",
"channels": 0,
"codec": "string",
"codec_long_name": "string",
"codec_type": "string",
"index": 0,
"profile": "string",
"sample_fmt": "string",
"sample_rate": 0
}
],
"connection_count": 0,
"sample": {
"audio_bit_rate": 0,
"video_bit_rate": 0,
"video_frame_rate": 0.1,
"video_key_frame_consistent": true,
"video_key_frame_interval": 0.1,
"video_resolution": 0
},
"video_bit_rate": 0,
"video_frame_rate": 0.1,
"video_key_frame_consistent": true,
"video_key_frame_interval": 0.1,
"video_resolution": 0,
"videos": [
{
"bit_rate": 0,
"codec": "string",
"codec_long_name": "string",
"codec_type": "string",
"frame_rate": 0.1,
"height": 0,
"index": 0,
"level": 0,
"pix_fmt": "string",
"profile": "string",
"resolution": 0,
"start_pts": 0,
"width": 0
}
]
},
"title": "string",
"transcoding_state": "STATE_UNSPECIFIED",
"transcoding_time_seconds": 0,
"type": "TYPE_UNSPECIFIED",
"upload_id": "string",
"vod_asset_id": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | (empty) | mycujoo.streaming.v1.Stream |
default | Default | An unexpected error response. | google.rpc.Status |
Returns stream's sessions activities
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/streaming/v1/streams/{stream_id}/activities', 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/streaming/v1/streams/{stream_id}/activities", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/streaming/v1/streams/{stream_id}/activities 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/streaming/v1/streams/{stream_id}/activities',
{
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/streaming/v1/streams/{stream_id}/activities',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /streaming/v1/streams/{stream_id}/activities
Returns the list of the stream's sessions activities
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
stream_id | path | string | true | The stream id |
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.
NOTE: pageToken is a string integer instead of an ID,
because stream_activity table not contains the ID field
Example responses
200 Response
{
"next_page_token": "string",
"sessions": [
{
"activities": [
{
"timestamp": "2019-08-24T14:15:22Z",
"type": "string"
}
],
"id": "string"
}
],
"total_size": 0
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.streaming.v1.GetStreamSessionActivitiesResponse |
default | Default | An unexpected error response. | google.rpc.Status |
List all recording assets for requested stream
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/streaming/v1/streams/{stream_id}/assets/recording', 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/streaming/v1/streams/{stream_id}/assets/recording", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/streaming/v1/streams/{stream_id}/assets/recording 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/streaming/v1/streams/{stream_id}/assets/recording',
{
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/streaming/v1/streams/{stream_id}/assets/recording',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /streaming/v1/streams/{stream_id}/assets/recording
List recording assets for this stream
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
stream_id | path | string | true | The stream ID |
filter | query | string | false | filter options |
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
filter: filter options supports filter: * is_concatenated BOOLEAN
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",
"recording_assets": [
{
"asset_url": "string",
"id": "string",
"is_concatenated": true,
"status": "STATUS_UNSPECIFIED",
"stream_id": "string",
"stream_key": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.streaming.v1.ListRecordingAssetsResponse |
default | Default | An unexpected error response. | google.rpc.Status |
GetStreamIamPolicy
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/streaming/v1/streams/{stream_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": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://mcls-api.mycujoo.tv/streaming/v1/streams/{stream_id}/iam_policy", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/streaming/v1/streams/{stream_id}/iam_policy 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/streaming/v1/streams/{stream_id}/iam_policy',
{
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/streaming/v1/streams/{stream_id}/iam_policy',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /streaming/v1/streams/{stream_id}/iam_policy
Returns current IAM policy for the stream. Use returned policy and etag to update policy.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
stream_id | path | string | true | none |
Example responses
200 Response
{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
},
"resource_hierarchy": [
{
"id": "elevendata",
"type": "project"
}
],
"resource_title": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.streaming.v1.GetStreamIamPolicyResponse |
default | Default | An unexpected error response. | google.rpc.Status |
SetStreamIamPolicy
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/streaming/v1/streams/{stream_id}/iam_policy', 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/streaming/v1/streams/{stream_id}/iam_policy", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/streaming/v1/streams/{stream_id}/iam_policy HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/streams/{stream_id}/iam_policy',
{
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 = {
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
}
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/streams/{stream_id}/iam_policy',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /streaming/v1/streams/{stream_id}/iam_policy
Set IAM policy for the stream. This method replaces all existing policy bindings for the stream. To prevent overwriting existing policy bindings that were written concurrently, use the etag field to perform a read-modify-write operation. For example: Making a new account to become a stream editor would require reading IAM Policy for the stream, add a new binding or update existing binding with role_id: editor, and then set the new policy with etag returned by GetStreamIamPolicy.
Body parameter
{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
stream_id | path | string | true | none |
body | body | object | true | none |
ยป etag | body | string(byte) | false | none |
ยป policy | body | mycujoo.auth.v1.Policy | true | Authorization policy. |
ยปยป bindings | body | [mycujoo.auth.v1.Binding] | false | List of bindings to the policy. If empty, the policy will not have any effect. |
ยปยปยป account_ids | body | [string] | false | List of account identifiers (referencing mycujoo.accounts.v1.Account ) that have the role. |
ยปยปยป include_all_organization_accounts | body | boolean | false | If this is set to true then the role is granted to all accounts in the organization. It overrides the account_ids field. |
ยปยปยป role_id | body | string | false | none |
Detailed descriptions
ยปยป bindings: List of bindings to the policy. If empty, the policy will not have any effect. Total number of accounts referenced in the bindings should be up to 1500. If same account has multiple roles - it is counted multiple times.
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.streaming.v1.SetStreamIamPolicyResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Stops the recording process
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.delete('https://mcls-api.mycujoo.tv/streaming/v1/streams/{stream_id}/recordings', 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/streaming/v1/streams/{stream_id}/recordings", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE https://mcls-api.mycujoo.tv/streaming/v1/streams/{stream_id}/recordings 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/streaming/v1/streams/{stream_id}/recordings',
{
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/streaming/v1/streams/{stream_id}/recordings',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE /streaming/v1/streams/{stream_id}/recordings
Stops the recording process for a given stream.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
stream_id | path | string | true | The stream ID |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.streaming.v1.StopRecordingResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Returns an active concat recordings job
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/streaming/v1/streams/{stream_id}/recordings/concat', 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/streaming/v1/streams/{stream_id}/recordings/concat", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/streaming/v1/streams/{stream_id}/recordings/concat 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/streaming/v1/streams/{stream_id}/recordings/concat',
{
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/streaming/v1/streams/{stream_id}/recordings/concat',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /streaming/v1/streams/{stream_id}/recordings/concat
Get the last and active concat recordings' object for a stream
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
stream_id | path | string | true | The stream ID |
Example responses
200 Response
{
"destination_asset_id": "string",
"id": "string",
"state": "STATE_UNSPECIFIED",
"status": "STATUS_UNSPECIFIED",
"stream_id": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | (empty) | mycujoo.streaming.v1.Concat |
default | Default | An unexpected error response. | google.rpc.Status |
StartConcatRecordings all recordings into a single recording
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/streaming/v1/streams/{stream_id}/recordings/concat', 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/streaming/v1/streams/{stream_id}/recordings/concat", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/streaming/v1/streams/{stream_id}/recordings/concat HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"delete_existing": true,
"force": true,
"format": "FORMAT_UNSPECIFIED"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/streams/{stream_id}/recordings/concat',
{
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 = {
"delete_existing": true,
"force": true,
"format": "FORMAT_UNSPECIFIED"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/streams/{stream_id}/recordings/concat',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /streaming/v1/streams/{stream_id}/recordings/concat
Concatenate all recordings into a single recording. This is an asynchronous call and can accept a base64 encoded webhook URL.
Body parameter
{
"delete_existing": true,
"force": true,
"format": "FORMAT_UNSPECIFIED"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
stream_id | path | string | true | The stream ID |
body | body | object | true | none |
ยป delete_existing | body | boolean | false | Will delete all existing recordings that have been concatenated after the job has completed. |
ยป force | body | boolean | false | rec1, rec2(not found), rec3, rec4 |
ยป format | body | mycujoo.streaming.v1.StartConcatRecordingsRequest.Format | false | none |
Detailed descriptions
ยป force: rec1, rec2(not found), rec3, rec4 Force way: rec1+rec3+rec4=concatenated1
Enumerated Values
Parameter | Value |
---|---|
ยป format | FORMAT_UNSPECIFIED |
ยป format | FORMAT_FLV |
ยป format | FORMAT_MP4 |
ยป format | FORMAT_TS |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.streaming.v1.StartConcatRecordingsResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Returns a time series of stream stats
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/streaming/v1/streams/{stream_id}/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/streaming/v1/streams/{stream_id}/stats", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/streaming/v1/streams/{stream_id}/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/streaming/v1/streams/{stream_id}/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/streaming/v1/streams/{stream_id}/stats',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /streaming/v1/streams/{stream_id}/stats
Get a time series of a stream's stats.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
stream_id | path | string | true | The stream ID |
start_time | query | string(date-time) | false | Start time of the time series |
end_time | query | string(date-time) | false | End time of the time series |
Example responses
200 Response
{
"stream_stats": [
{
"audio_bit_rate": 0,
"connection_count": 0,
"key_frame_consistent": true,
"key_frame_interval": 0.1,
"time": "2019-08-24T14:15:22Z",
"video_bit_rate": 0,
"video_fps": 0.1,
"video_height": 0
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.streaming.v1.GetStreamStatsTimeSeriesResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Returns a single transcoding
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/streaming/v1/streams/{stream_id}/transcoding', 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/streaming/v1/streams/{stream_id}/transcoding", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/streaming/v1/streams/{stream_id}/transcoding 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/streaming/v1/streams/{stream_id}/transcoding',
{
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/streaming/v1/streams/{stream_id}/transcoding',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /streaming/v1/streams/{stream_id}/transcoding
Get the last transcoding object for a stream
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
stream_id | path | string | true | The stream ID |
Example responses
200 Response
{
"id": "string",
"progress": 100,
"start_offset": 0,
"state": "STATE_UNSPECIFIED",
"status": "STATUS_UNSPECIFIED",
"stream_id": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | (empty) | mycujoo.streaming.v1.Transcoding |
default | Default | An unexpected error response. | google.rpc.Status |
Start transcoding for this stream
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/streaming/v1/streams/{stream_id}/transcoding', 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/streaming/v1/streams/{stream_id}/transcoding", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/streaming/v1/streams/{stream_id}/transcoding HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"start_offset": 0
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/streams/{stream_id}/transcoding',
{
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 = {
"start_offset": 0
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/streams/{stream_id}/transcoding',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /streaming/v1/streams/{stream_id}/transcoding
Start transcoding for either a static resource or a stream.
Body parameter
{
"start_offset": 0
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
stream_id | path | string | true | The stream ID |
body | body | mycujoo.streaming.v1.TranscodingOffset | true | Position in the source where transcoding should start from. |
Detailed descriptions
body: Position in the source where transcoding should start from. Only valid when type = static.
Example responses
200 Response
{
"id": "string",
"progress": 100,
"start_offset": 0,
"state": "STATE_UNSPECIFIED",
"status": "STATUS_UNSPECIFIED",
"stream_id": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | (empty) | mycujoo.streaming.v1.Transcoding |
default | Default | An unexpected error response. | google.rpc.Status |
Stops the transcoding process
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.delete('https://mcls-api.mycujoo.tv/streaming/v1/streams/{stream_id}/transcoding', 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/streaming/v1/streams/{stream_id}/transcoding", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE https://mcls-api.mycujoo.tv/streaming/v1/streams/{stream_id}/transcoding 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/streaming/v1/streams/{stream_id}/transcoding',
{
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/streaming/v1/streams/{stream_id}/transcoding',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE /streaming/v1/streams/{stream_id}/transcoding
Stops the transcoding process for the given stream.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
stream_id | path | string | true | The stream ID |
Example responses
200 Response
{
"id": "string",
"progress": 100,
"start_offset": 0,
"state": "STATE_UNSPECIFIED",
"status": "STATUS_UNSPECIFIED",
"stream_id": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | (empty) | mycujoo.streaming.v1.Transcoding |
default | Default | An unexpected error response. | google.rpc.Status |
Start transcoding import for a stream
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/streaming/v1/streams/{stream_id}/transcoding/import', 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/streaming/v1/streams/{stream_id}/transcoding/import", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/streaming/v1/streams/{stream_id}/transcoding/import HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"playlist_url": "string",
"starting_segment": 0
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/streams/{stream_id}/transcoding/import',
{
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 = {
"playlist_url": "string",
"starting_segment": 0
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/streaming/v1/streams/{stream_id}/transcoding/import',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /streaming/v1/streams/{stream_id}/transcoding/import
Imports the transcoded segments by using the source playlist
Body parameter
{
"playlist_url": "string",
"starting_segment": 0
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
stream_id | path | string | true | The stream ID |
body | body | mycujoo.streaming.v1.TranscodingImport | true | none |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.streaming.v1.StartTranscodingImportResponse |
default | Default | An unexpected error response. | google.rpc.Status |
SubscriptionsService
List packages
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/subscriptions/v1beta1/packages', params={
'order_by': 'ORDER_UNSPECIFIED', 'page_size': '0'
}, 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/subscriptions/v1beta1/packages", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/subscriptions/v1beta1/packages?order_by=ORDER_UNSPECIFIED&page_size=0 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/subscriptions/v1beta1/packages?order_by=ORDER_UNSPECIFIED&page_size=0',
{
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/subscriptions/v1beta1/packages?order_by=ORDER_UNSPECIFIED&page_size=0',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /subscriptions/v1beta1/packages
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
order_by | query | string | true | Specifies the result ordering |
page_size | query | integer(int32) | true | Maximum number of records to return. |
page_token | query | string | false | Token used for cursor pagination. |
page_offset | query | integer(int32) | false | Offset from where to start returning data. |
includes | query | array[string] | false | Specifies what response metadata should include. |
state | query | array[string] | false | Filter results by one or many package types |
type | query | array[string] | false | Filter results by one or many package types |
search | query | string | false | Full text search on package name |
event_id | query | string | false | Event ID which is bound to the package |
Detailed descriptions
order_by: Specifies the result ordering
- ORDER_UNSPECIFIED: When order is unspecified it defaults to create time descending
- ORDER_CREATE_TIME_ASC: Results sorted by time of creation ascending
- ORDER_CREATE_TIME_DESC: Results sorted by time of creation descending
page_size: Maximum number of records to return. Must be between 1 and 100
page_token: Token used for cursor pagination. Cannot be used together with page_offset.
page_offset: Offset from where to start returning data. Cannot be used together with page_token.
includes: Specifies what response metadata should include. e.g. when 'INCLUDE_TOTAL_SIZE' is passed, response metadata will include total size of the result
- INCLUDE_TOTAL_SIZE: When included, response will contain metadata about total number of available results irrespective of pagination
state: Filter results by one or many package types
- STATE_HIDDEN: Hidden means that the package is not available to be bought anywhere.
- STATE_UNLISTED: Unlisted means that the package is available for purchase but should not be visible for the users.
- STATE_PUBLISHED: Published means that the package is fully available for purchase.
type: Filter results by one or many package types
- TYPE_BUNDLE: Bundle type is when access to the content never expires.
- TYPE_SUBSCRIPTION: Subscription type is temporary access based on recurring payments. Recurring payments are done on basis set by 'term_seconds' field.
- TYPE_TIMEPASS: Timepass type is a time limited access to the content. It is same as bundle type but with expiration date.
- TYPE_PPV: PPV - Pay Per View. This is a one-time purchase for a single MCLS event, with lifetime access once purchased.
Enumerated Values
Parameter | Value |
---|---|
order_by | ORDER_UNSPECIFIED |
order_by | ORDER_CREATE_TIME_ASC |
order_by | ORDER_CREATE_TIME_DESC |
includes | INCLUDE_UNSPECIFIED |
includes | INCLUDE_TOTAL_SIZE |
state | STATE_UNSPECIFIED |
state | STATE_HIDDEN |
state | STATE_UNLISTED |
state | STATE_PUBLISHED |
type | TYPE_UNSPECIFIED |
type | TYPE_BUNDLE |
type | TYPE_SUBSCRIPTION |
type | TYPE_TIMEPASS |
type | TYPE_PPV |
Example responses
200 Response
{
"next_page_token": "string",
"packages": [
{
"apple_app_store_product_id": "string",
"concurrency_limit": 0,
"contents": [
{
"id": "string",
"priority": 0,
"type": "string"
}
],
"create_time": "2019-08-24T14:15:22Z",
"description": "string",
"end_time": "2019-08-24T14:15:22Z",
"google_play_sku": "string",
"hero_image_asset_id": "string",
"id": "string",
"is_geoblocked": true,
"locale_overrides": [
{
"description": "string",
"language_code": "string",
"name": "string",
"short_name": "string"
}
],
"logo_asset_id": "string",
"name": "string",
"price": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"price_msrp": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"price_per_item": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"priority": 0,
"short_name": "string",
"start_time": "2019-08-24T14:15:22Z",
"state": "STATE_UNSPECIFIED",
"term": {
"factor": 0,
"period": "CALENDAR_PERIOD_UNSPECIFIED"
},
"type": "TYPE_UNSPECIFIED"
}
],
"total_size": 0
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.subscriptions.v1beta1.ListPackagesResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Create package
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/subscriptions/v1beta1/packages', 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/subscriptions/v1beta1/packages", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/subscriptions/v1beta1/packages HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"apple_app_store_product_id": "string",
"concurrency_limit": 0,
"contents": [
{
"id": "string",
"priority": 0,
"type": "string"
}
],
"description": "string",
"end_time": "2019-08-24T14:15:22Z",
"google_play_sku": "string",
"hero_image_asset_id": "string",
"is_geoblocked": true,
"locale_overrides": [
{
"description": "string",
"language_code": "string",
"name": "string",
"short_name": "string"
}
],
"logo_asset_id": "string",
"name": "string",
"price": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"price_msrp": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"price_per_item": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"priority": 0,
"short_name": "string",
"start_time": "2019-08-24T14:15:22Z",
"state": "STATE_UNSPECIFIED",
"term": {
"factor": 0,
"period": "CALENDAR_PERIOD_UNSPECIFIED"
},
"type": "TYPE_UNSPECIFIED"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/subscriptions/v1beta1/packages',
{
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 = {
"apple_app_store_product_id": "string",
"concurrency_limit": 0,
"contents": [
{
"id": "string",
"priority": 0,
"type": "string"
}
],
"description": "string",
"end_time": "2019-08-24T14:15:22Z",
"google_play_sku": "string",
"hero_image_asset_id": "string",
"is_geoblocked": true,
"locale_overrides": [
{
"description": "string",
"language_code": "string",
"name": "string",
"short_name": "string"
}
],
"logo_asset_id": "string",
"name": "string",
"price": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"price_msrp": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"price_per_item": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"priority": 0,
"short_name": "string",
"start_time": "2019-08-24T14:15:22Z",
"state": "STATE_UNSPECIFIED",
"term": {
"factor": 0,
"period": "CALENDAR_PERIOD_UNSPECIFIED"
},
"type": "TYPE_UNSPECIFIED"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/subscriptions/v1beta1/packages',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /subscriptions/v1beta1/packages
Body parameter
{
"apple_app_store_product_id": "string",
"concurrency_limit": 0,
"contents": [
{
"id": "string",
"priority": 0,
"type": "string"
}
],
"description": "string",
"end_time": "2019-08-24T14:15:22Z",
"google_play_sku": "string",
"hero_image_asset_id": "string",
"is_geoblocked": true,
"locale_overrides": [
{
"description": "string",
"language_code": "string",
"name": "string",
"short_name": "string"
}
],
"logo_asset_id": "string",
"name": "string",
"price": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"price_msrp": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"price_per_item": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"priority": 0,
"short_name": "string",
"start_time": "2019-08-24T14:15:22Z",
"state": "STATE_UNSPECIFIED",
"term": {
"factor": 0,
"period": "CALENDAR_PERIOD_UNSPECIFIED"
},
"type": "TYPE_UNSPECIFIED"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | mycujoo.subscriptions.v1beta1.CreatePackageRequest | true | none |
Example responses
200 Response
{
"apple_app_store_product_id": "string",
"concurrency_limit": 0,
"contents": [
{
"id": "string",
"priority": 0,
"type": "string"
}
],
"create_time": "2019-08-24T14:15:22Z",
"description": "string",
"end_time": "2019-08-24T14:15:22Z",
"google_play_sku": "string",
"hero_image_asset_id": "string",
"id": "string",
"is_geoblocked": true,
"locale_overrides": [
{
"description": "string",
"language_code": "string",
"name": "string",
"short_name": "string"
}
],
"logo_asset_id": "string",
"name": "string",
"price": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"price_msrp": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"price_per_item": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"priority": 0,
"short_name": "string",
"start_time": "2019-08-24T14:15:22Z",
"state": "STATE_UNSPECIFIED",
"term": {
"factor": 0,
"period": "CALENDAR_PERIOD_UNSPECIFIED"
},
"type": "TYPE_UNSPECIFIED"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Created package | mycujoo.subscriptions.v1beta1.Package |
default | Default | An unexpected error response. | google.rpc.Status |
Batch Get package
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/subscriptions/v1beta1/packages/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/subscriptions/v1beta1/packages/batch", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/subscriptions/v1beta1/packages/batch 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/subscriptions/v1beta1/packages/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 = {
"ids": [
"string"
]
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/subscriptions/v1beta1/packages/batch',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /subscriptions/v1beta1/packages/batch
Body parameter
{
"ids": [
"string"
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | mycujoo.subscriptions.v1beta1.BatchGetPackagesRequest | true | none |
Example responses
200 Response
{
"packages": [
{
"apple_app_store_product_id": "string",
"concurrency_limit": 0,
"contents": [
{
"id": "string",
"priority": 0,
"type": "string"
}
],
"create_time": "2019-08-24T14:15:22Z",
"description": "string",
"end_time": "2019-08-24T14:15:22Z",
"google_play_sku": "string",
"hero_image_asset_id": "string",
"id": "string",
"is_geoblocked": true,
"locale_overrides": [
{
"description": "string",
"language_code": "string",
"name": "string",
"short_name": "string"
}
],
"logo_asset_id": "string",
"name": "string",
"price": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"price_msrp": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"price_per_item": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"priority": 0,
"short_name": "string",
"start_time": "2019-08-24T14:15:22Z",
"state": "STATE_UNSPECIFIED",
"term": {
"factor": 0,
"period": "CALENDAR_PERIOD_UNSPECIFIED"
},
"type": "TYPE_UNSPECIFIED"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.subscriptions.v1beta1.BatchGetPackagesResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Get package
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/subscriptions/v1beta1/packages/{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/subscriptions/v1beta1/packages/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/subscriptions/v1beta1/packages/{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/subscriptions/v1beta1/packages/{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/subscriptions/v1beta1/packages/{id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /subscriptions/v1beta1/packages/{id}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | ID of the package to retrieve |
Example responses
200 Response
{
"apple_app_store_product_id": "string",
"concurrency_limit": 0,
"contents": [
{
"id": "string",
"priority": 0,
"type": "string"
}
],
"create_time": "2019-08-24T14:15:22Z",
"description": "string",
"end_time": "2019-08-24T14:15:22Z",
"google_play_sku": "string",
"hero_image_asset_id": "string",
"id": "string",
"is_geoblocked": true,
"locale_overrides": [
{
"description": "string",
"language_code": "string",
"name": "string",
"short_name": "string"
}
],
"logo_asset_id": "string",
"name": "string",
"price": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"price_msrp": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"price_per_item": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"priority": 0,
"short_name": "string",
"start_time": "2019-08-24T14:15:22Z",
"state": "STATE_UNSPECIFIED",
"term": {
"factor": 0,
"period": "CALENDAR_PERIOD_UNSPECIFIED"
},
"type": "TYPE_UNSPECIFIED"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Returned package | mycujoo.subscriptions.v1beta1.Package |
default | Default | An unexpected error response. | google.rpc.Status |
Delete package
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.delete('https://mcls-api.mycujoo.tv/subscriptions/v1beta1/packages/{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/subscriptions/v1beta1/packages/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE https://mcls-api.mycujoo.tv/subscriptions/v1beta1/packages/{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/subscriptions/v1beta1/packages/{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/subscriptions/v1beta1/packages/{id}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE /subscriptions/v1beta1/packages/{id}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | ID of the package to delete |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.subscriptions.v1beta1.DeletePackageResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Updates package
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.patch('https://mcls-api.mycujoo.tv/subscriptions/v1beta1/packages/{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/subscriptions/v1beta1/packages/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH https://mcls-api.mycujoo.tv/subscriptions/v1beta1/packages/{id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"apple_app_store_product_id": "string",
"concurrency_limit": 0,
"contents": [
{
"id": "string",
"priority": 0,
"type": "string"
}
],
"description": "string",
"end_time": "2019-08-24T14:15:22Z",
"google_play_sku": "string",
"hero_image_asset_id": "string",
"is_geoblocked": true,
"locale_overrides": [
{
"description": "string",
"language_code": "string",
"name": "string",
"short_name": "string"
}
],
"logo_asset_id": "string",
"name": "string",
"price": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"price_msrp": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"price_per_item": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"priority": 0,
"short_name": "string",
"start_time": "2019-08-24T14:15:22Z",
"state": "STATE_UNSPECIFIED",
"term": {
"factor": 0,
"period": "CALENDAR_PERIOD_UNSPECIFIED"
},
"type": "TYPE_UNSPECIFIED"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/subscriptions/v1beta1/packages/{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 = {
"apple_app_store_product_id": "string",
"concurrency_limit": 0,
"contents": [
{
"id": "string",
"priority": 0,
"type": "string"
}
],
"description": "string",
"end_time": "2019-08-24T14:15:22Z",
"google_play_sku": "string",
"hero_image_asset_id": "string",
"is_geoblocked": true,
"locale_overrides": [
{
"description": "string",
"language_code": "string",
"name": "string",
"short_name": "string"
}
],
"logo_asset_id": "string",
"name": "string",
"price": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"price_msrp": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"price_per_item": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"priority": 0,
"short_name": "string",
"start_time": "2019-08-24T14:15:22Z",
"state": "STATE_UNSPECIFIED",
"term": {
"factor": 0,
"period": "CALENDAR_PERIOD_UNSPECIFIED"
},
"type": "TYPE_UNSPECIFIED"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/subscriptions/v1beta1/packages/{id}',
{
method: 'PATCH',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PATCH /subscriptions/v1beta1/packages/{id}
Body parameter
{
"apple_app_store_product_id": "string",
"concurrency_limit": 0,
"contents": [
{
"id": "string",
"priority": 0,
"type": "string"
}
],
"description": "string",
"end_time": "2019-08-24T14:15:22Z",
"google_play_sku": "string",
"hero_image_asset_id": "string",
"is_geoblocked": true,
"locale_overrides": [
{
"description": "string",
"language_code": "string",
"name": "string",
"short_name": "string"
}
],
"logo_asset_id": "string",
"name": "string",
"price": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"price_msrp": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"price_per_item": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"priority": 0,
"short_name": "string",
"start_time": "2019-08-24T14:15:22Z",
"state": "STATE_UNSPECIFIED",
"term": {
"factor": 0,
"period": "CALENDAR_PERIOD_UNSPECIFIED"
},
"type": "TYPE_UNSPECIFIED"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | none |
body | body | mycujoo.subscriptions.v1beta1.UpdatePackageRequest.UpdateFields | true | none |
Example responses
200 Response
{
"apple_app_store_product_id": "string",
"concurrency_limit": 0,
"contents": [
{
"id": "string",
"priority": 0,
"type": "string"
}
],
"create_time": "2019-08-24T14:15:22Z",
"description": "string",
"end_time": "2019-08-24T14:15:22Z",
"google_play_sku": "string",
"hero_image_asset_id": "string",
"id": "string",
"is_geoblocked": true,
"locale_overrides": [
{
"description": "string",
"language_code": "string",
"name": "string",
"short_name": "string"
}
],
"logo_asset_id": "string",
"name": "string",
"price": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"price_msrp": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"price_per_item": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"priority": 0,
"short_name": "string",
"start_time": "2019-08-24T14:15:22Z",
"state": "STATE_UNSPECIFIED",
"term": {
"factor": 0,
"period": "CALENDAR_PERIOD_UNSPECIFIED"
},
"type": "TYPE_UNSPECIFIED"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Updated package | mycujoo.subscriptions.v1beta1.Package |
default | Default | An unexpected error response. | google.rpc.Status |
GetPackageIamPolicy
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/subscriptions/v1beta1/packages/{package_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": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://mcls-api.mycujoo.tv/subscriptions/v1beta1/packages/{package_id}/iam_policy", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/subscriptions/v1beta1/packages/{package_id}/iam_policy 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/subscriptions/v1beta1/packages/{package_id}/iam_policy',
{
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/subscriptions/v1beta1/packages/{package_id}/iam_policy',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /subscriptions/v1beta1/packages/{package_id}/iam_policy
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
package_id | path | string | true | none |
Example responses
200 Response
{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
},
"resource_hierarchy": [
{
"id": "elevendata",
"type": "project"
}
],
"resource_title": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.subscriptions.v1beta1.GetPackageIamPolicyResponse |
default | Default | An unexpected error response. | google.rpc.Status |
SetPackageIamPolicy
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/subscriptions/v1beta1/packages/{package_id}/iam_policy', 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/subscriptions/v1beta1/packages/{package_id}/iam_policy", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/subscriptions/v1beta1/packages/{package_id}/iam_policy HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/subscriptions/v1beta1/packages/{package_id}/iam_policy',
{
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 = {
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
}
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/subscriptions/v1beta1/packages/{package_id}/iam_policy',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /subscriptions/v1beta1/packages/{package_id}/iam_policy
Body parameter
{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
package_id | path | string | true | none |
body | body | object | true | none |
ยป etag | body | string(byte) | false | none |
ยป policy | body | mycujoo.auth.v1.Policy | true | Authorization policy. |
ยปยป bindings | body | [mycujoo.auth.v1.Binding] | false | List of bindings to the policy. If empty, the policy will not have any effect. |
ยปยปยป account_ids | body | [string] | false | List of account identifiers (referencing mycujoo.accounts.v1.Account ) that have the role. |
ยปยปยป include_all_organization_accounts | body | boolean | false | If this is set to true then the role is granted to all accounts in the organization. It overrides the account_ids field. |
ยปยปยป role_id | body | string | false | none |
Detailed descriptions
ยปยป bindings: List of bindings to the policy. If empty, the policy will not have any effect. Total number of accounts referenced in the bindings should be up to 1500. If same account has multiple roles - it is counted multiple times.
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.subscriptions.v1beta1.SetPackageIamPolicyResponse |
default | Default | An unexpected error response. | google.rpc.Status |
TestIamPermissions
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/subscriptions/v1beta1/test_iam_permissions', 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/subscriptions/v1beta1/test_iam_permissions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/subscriptions/v1beta1/test_iam_permissions HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/subscriptions/v1beta1/test_iam_permissions',
{
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 = {
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/subscriptions/v1beta1/test_iam_permissions',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /subscriptions/v1beta1/test_iam_permissions
This method validates the current account given a list of permissions. Used for UI
Body parameter
{
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | mycujoo.subscriptions.v1beta1.TestIamPermissionsRequest | true | none |
Example responses
200 Response
{
"permissions": [
"projects.create",
"projects.update"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.subscriptions.v1beta1.TestIamPermissionsResponse |
default | Default | An unexpected error response. | google.rpc.Status |
ThumbnailService
Creates a single thumbnail from source
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/thumbnails/v1/thumbnails', 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/thumbnails/v1/thumbnails", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/thumbnails/v1/thumbnails HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"output_format": "OUTPUT_FORMAT_UNSPECIFIED",
"position": "string",
"stream_id": "string",
"title": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/thumbnails/v1/thumbnails',
{
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 = {
"output_format": "OUTPUT_FORMAT_UNSPECIFIED",
"position": "string",
"stream_id": "string",
"title": "string"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/thumbnails/v1/thumbnails',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /thumbnails/v1/thumbnails
Creates a single thumbnail from video source
Body parameter
{
"output_format": "OUTPUT_FORMAT_UNSPECIFIED",
"position": "string",
"stream_id": "string",
"title": "string"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | mycujoo.thumbnails.v1.CreateThumbnailRequest | true | none |
Example responses
200 Response
{
"asset_id": "string",
"create_time": "2019-08-24T14:15:22Z",
"download_url": "string",
"expiry_time": "2019-08-24T14:15:22Z",
"filename": "string",
"org_id": "string",
"project_id": "string",
"size_bytes": "string",
"stream_id": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.thumbnails.v1.CreateThumbnailResponse |
400 | Bad Request | Bad input parameters | Inline |
404 | Not Found | Source of the stream was not found | Inline |
500 | Internal Server Error | Internal Server Error | Inline |
default | Default | An unexpected error response. | google.rpc.Status |
Response Schema
TimelinesService
Returns a list of timelines
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/timelines/v1beta1', params={
'stream_id': 'string'
}, 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/timelines/v1beta1", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/timelines/v1beta1?stream_id=string 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/timelines/v1beta1?stream_id=string',
{
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/timelines/v1beta1?stream_id=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /timelines/v1beta1
List all the timelines for given organisation
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
stream_id | query | string | true | Retrives all the timelines by specified stream ID |
Example responses
200 Response
{
"timelines": [
{
"create_time": "2019-08-24T14:15:22Z",
"id": "string",
"name": "string",
"stream_id": "string",
"type": "TYPE_SYSTEM"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.timelines.v1beta1.ListResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Create
Creates the timeline in the system
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/timelines/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/timelines/v1beta1", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/timelines/v1beta1 HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"name": "string",
"stream_id": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/timelines/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 = {
"name": "string",
"stream_id": "string"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/timelines/v1beta1',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /timelines/v1beta1
Creates the timeline in the system
Body parameter
{
"name": "string",
"stream_id": "string"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | mycujoo.timelines.v1beta1.CreateRequest | true | none |
Example responses
200 Response
{
"timeline": {
"create_time": "2019-08-24T14:15:22Z",
"id": "string",
"name": "string",
"stream_id": "string",
"type": "TYPE_SYSTEM"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.timelines.v1beta1.CreateResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Returns a timeline by id
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/timelines/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/timelines/v1beta1/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/timelines/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/timelines/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/timelines/v1beta1/{id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /timelines/v1beta1/{id}
Get a timeline by id
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | ID of the timeline to be retrieved |
Example responses
200 Response
{
"timeline": {
"create_time": "2019-08-24T14:15:22Z",
"id": "string",
"name": "string",
"stream_id": "string",
"type": "TYPE_SYSTEM"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.timelines.v1beta1.GetResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Delete
Deletes the timeline from the system. System timelines cannot be deleted.
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.delete('https://mcls-api.mycujoo.tv/timelines/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/timelines/v1beta1/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE https://mcls-api.mycujoo.tv/timelines/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/timelines/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/timelines/v1beta1/{id}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE /timelines/v1beta1/{id}
Deletes the timeline from the system. System timelines cannot be deleted.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | ID of the timeline to be deleted |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.timelines.v1beta1.DeleteResponse |
default | Default | An unexpected error response. | google.rpc.Status |
UserConsentService
Returns the requested list of documents with acceptance status regarding their latest versions
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/userconsent/v1beta1/check_documents', 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/userconsent/v1beta1/check_documents", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/userconsent/v1beta1/check_documents 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/userconsent/v1beta1/check_documents',
{
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/userconsent/v1beta1/check_documents',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /userconsent/v1beta1/check_documents
Check if the user has accepted or not the latest version of each document from the list
Body parameter
{
"ids": [
"string"
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | mycujoo.userconsent.v1beta1.CheckDocumentsRequest | true | none |
Example responses
200 Response
{
"documents": [
{
"acceptance_period_time": "2019-08-24T14:15:22Z",
"accepted": true,
"content_url": "string",
"document_id": "string",
"version_id": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.userconsent.v1beta1.CheckDocumentsResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Returns success status for documents acceptance
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/userconsent/v1beta1/{document_id}/accept/{version_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("POST", "https://mcls-api.mycujoo.tv/userconsent/v1beta1/{document_id}/accept/{version_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/userconsent/v1beta1/{document_id}/accept/{version_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/userconsent/v1beta1/{document_id}/accept/{version_id}',
{
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/userconsent/v1beta1/{document_id}/accept/{version_id}',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /userconsent/v1beta1/{document_id}/accept/{version_id}
Accepts the latest version of a document
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
document_id | path | string | true | id of the document to be accepted |
version_id | path | string | true | id of the version to be accepted |
Example responses
200 Response
{
"document_id": "string",
"version_id": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.userconsent.v1beta1.AcceptDocumentResponse |
default | Default | An unexpected error response. | google.rpc.Status |
Returns the updated version content for a document
Code samples
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://mcls-api.mycujoo.tv/userconsent/v1beta1/{document_id}/content', 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/userconsent/v1beta1/{document_id}/content", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/userconsent/v1beta1/{document_id}/content HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/userconsent/v1beta1/{document_id}/content',
{
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/userconsent/v1beta1/{document_id}/content',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /userconsent/v1beta1/{document_id}/content
Get the latest content version of a document
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
document_id | path | string | true | id of the document to retrieve |
lang | query | string | false | language of preference for the document. Examples: "en", "es", "pt", "pt-br" |
Example responses
200 Response
{
"content_html": "string",
"content_url": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.userconsent.v1beta1.GetDocumentContentResponse |
default | Default | An unexpected error response. | google.rpc.Status |
UserdataActionService
UserdataActionService_Create
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
r = requests.post('https://mcls-api.mycujoo.tv/userdataaction/v1beta1/{action_call_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"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://mcls-api.mycujoo.tv/userdataaction/v1beta1/{action_call_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/userdataaction/v1beta1/{action_call_id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"bool": true,
"float": 0.1,
"int": 0,
"string": "string",
"timestamp": "2019-08-24T14:15:22Z"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/userdataaction/v1beta1/{action_call_id}',
{
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 = {
"bool": true,
"float": 0.1,
"int": 0,
"string": "string",
"timestamp": "2019-08-24T14:15:22Z"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/userdataaction/v1beta1/{action_call_id}',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /userdataaction/v1beta1/{action_call_id}
Body parameter
{
"bool": true,
"float": 0.1,
"int": 0,
"string": "string",
"timestamp": "2019-08-24T14:15:22Z"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
action_call_id | path | string | true | none |
body | body | mycujoo.userdataaction.v1beta1.Value | true | none |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.userdataaction.v1beta1.CreateResponse |
default | Default | An unexpected error response. | google.rpc.Status |
UserdataActionService_Update
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
r = requests.patch('https://mcls-api.mycujoo.tv/userdataaction/v1beta1/{action_call_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"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "https://mcls-api.mycujoo.tv/userdataaction/v1beta1/{action_call_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH https://mcls-api.mycujoo.tv/userdataaction/v1beta1/{action_call_id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"bool": true,
"float": 0.1,
"int": 0,
"string": "string",
"timestamp": "2019-08-24T14:15:22Z"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/userdataaction/v1beta1/{action_call_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 = {
"bool": true,
"float": 0.1,
"int": 0,
"string": "string",
"timestamp": "2019-08-24T14:15:22Z"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://mcls-api.mycujoo.tv/userdataaction/v1beta1/{action_call_id}',
{
method: 'PATCH',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PATCH /userdataaction/v1beta1/{action_call_id}
Body parameter
{
"bool": true,
"float": 0.1,
"int": 0,
"string": "string",
"timestamp": "2019-08-24T14:15:22Z"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
action_call_id | path | string | true | none |
body | body | mycujoo.userdataaction.v1beta1.Value | true | none |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.userdataaction.v1beta1.UpdateResponse |
default | Default | An unexpected error response. | google.rpc.Status |
VideostitchingService
Update a videostitching job
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.put('https://mcls-api.mycujoo.tv/stitcher/v1/jobs/{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("PUT", "https://mcls-api.mycujoo.tv/stitcher/v1/jobs/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT https://mcls-api.mycujoo.tv/stitcher/v1/jobs/{id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"inputs": [
{
"asset": {
"asset_id": "string",
"end_offset": "string",
"start_offset": "string"
},
"clip": {
"clip_id": "string",
"end_offset": "string",
"start_offset": "string"
},
"stream": {
"end_offset": "string",
"resource_type": "STREAM_RESOURCE_TYPE_UNSPECIFIED",
"start_offset": "string",
"stream_id": "string"
}
}
],
"outputs": [
{
"asset": {
"config": {
"transcoding_settings_id": "string",
"video_representation_id": "string",
"watermark_id": "string"
},
"labels": {
"property1": "string",
"property2": "string"
},
"title": "string"
},
"stream": {
"stream_id": "string"
}
}
],
"title": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/stitcher/v1/jobs/{id}',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const inputBody = {
"inputs": [
{
"asset": {
"asset_id": "string",
"end_offset": "string",
"start_offset": "string"
},
"clip": {
"clip_id": "string",
"end_offset": "string",
"start_offset": "string"
},
"stream": {
"end_offset": "string",
"resource_type": "STREAM_RESOURCE_TYPE_UNSPECIFIED",
"start_offset": "string",
"stream_id": "string"
}
}
],
"outputs": [
{
"asset": {
"config": {
"transcoding_settings_id": "string",
"video_representation_id": "string",
"watermark_id": "string"
},
"labels": {
"property1": "string",
"property2": "string"
},
"title": "string"
},
"stream": {
"stream_id": "string"
}
}
],
"title": "string"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/stitcher/v1/jobs/{id}',
{
method: 'PUT',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT /stitcher/v1/jobs/{id}
Updates an existing videostitching job
Body parameter
{
"inputs": [
{
"asset": {
"asset_id": "string",
"end_offset": "string",
"start_offset": "string"
},
"clip": {
"clip_id": "string",
"end_offset": "string",
"start_offset": "string"
},
"stream": {
"end_offset": "string",
"resource_type": "STREAM_RESOURCE_TYPE_UNSPECIFIED",
"start_offset": "string",
"stream_id": "string"
}
}
],
"outputs": [
{
"asset": {
"config": {
"transcoding_settings_id": "string",
"video_representation_id": "string",
"watermark_id": "string"
},
"labels": {
"property1": "string",
"property2": "string"
},
"title": "string"
},
"stream": {
"stream_id": "string"
}
}
],
"title": "string"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | ID of the videostitching job |
body | body | object | true | none |
ยป inputs | body | [mycujoo.videostitching.v1.Input] | true | none |
ยปยป Input of the videostitching job | body | mycujoo.videostitching.v1.Input | false | none |
ยปยปยป asset | body | mycujoo.videostitching.v1.AssetInput | false | none |
ยปยปยปยป asset_id | body | string | true | none |
ยปยปยปยป end_offset | body | string | false | none |
ยปยปยปยป start_offset | body | string | false | none |
ยปยปยป clip | body | mycujoo.videostitching.v1.ClipInput | false | none |
ยปยปยปยป clip_id | body | string | true | none |
ยปยปยปยป end_offset | body | string | false | none |
ยปยปยปยป start_offset | body | string | false | none |
ยปยปยป stream | body | mycujoo.videostitching.v1.StreamInput | false | none |
ยปยปยปยป end_offset | body | string | false | none |
ยปยปยปยป resource_type | body | mycujoo.videostitching.v1.StreamResourceType | false | - STREAM_RESOURCE_TYPE_PLAYLIST_TRANSCODED_HLS: Type playlist_transcoded_hls will select the transcoded hls playlist of provided stream |
ยปยปยปยป start_offset | body | string | false | none |
ยปยปยปยป stream_id | body | string | true | none |
ยป outputs | body | [mycujoo.videostitching.v1.RequestedOutput] | true | none |
ยปยป Desired output of video stitching | body | mycujoo.videostitching.v1.RequestedOutput | false | none |
ยปยปยป asset | body | mycujoo.videostitching.v1.RequestedAssetOutput | false | none |
ยปยปยปยป config | body | mycujoo.videostitching.v1.RequestedAssetOutputConfig | false | none |
ยปยปยปยปยป transcoding_settings_id | body | string | false | none |
ยปยปยปยปยป video_representation_id | body | string | false | none |
ยปยปยปยปยป watermark_id | body | string | false | none |
ยปยปยปยป labels | body | object | false | none |
ยปยปยปยปยป additionalProperties | body | string | false | none |
ยปยปยปยป title | body | string | false | none |
ยปยปยป stream | body | mycujoo.videostitching.v1.RequestedStreamOutput | false | none |
ยปยปยปยป stream_id | body | string | false | none |
ยป title | body | string | false | Title of the job. If this field is empty, a random title will be set. |
Detailed descriptions
ยปยปยปยป resource_type: - STREAM_RESOURCE_TYPE_PLAYLIST_TRANSCODED_HLS: Type playlist_transcoded_hls will select the transcoded hls playlist of provided stream - STREAM_RESOURCE_TYPE_CLIPS: Type clips will select all clips of provided stream (clips that are all children of this particular stream)
Enumerated Values
Parameter | Value |
---|---|
ยปยปยปยป resource_type | STREAM_RESOURCE_TYPE_UNSPECIFIED |
ยปยปยปยป resource_type | STREAM_RESOURCE_TYPE_PLAYLIST_TRANSCODED_HLS |
ยปยปยปยป resource_type | STREAM_RESOURCE_TYPE_CLIPS |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.videostitching.v1.UpdateJobResponse |
400 | Bad Request | Bad input parameters | Inline |
404 | Not Found | Videostitching job was not found | Inline |
409 | Conflict | Videostitching job is already running | Inline |
500 | Internal Server Error | Internal Server Error | Inline |
default | Default | An unexpected error response. | google.rpc.Status |
Response Schema
Cancel a videostitching job
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.put('https://mcls-api.mycujoo.tv/stitcher/v1/jobs/{id}/cancel', 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("PUT", "https://mcls-api.mycujoo.tv/stitcher/v1/jobs/{id}/cancel", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT https://mcls-api.mycujoo.tv/stitcher/v1/jobs/{id}/cancel 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/stitcher/v1/jobs/{id}/cancel',
{
method: 'PUT',
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/stitcher/v1/jobs/{id}/cancel',
{
method: 'PUT',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT /stitcher/v1/jobs/{id}/cancel
Cancels an existing videostitching job and its outputs
Body parameter
{}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | ID of the videostitching job |
body | body | object | true | none |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.videostitching.v1.CancelJobResponse |
400 | Bad Request | Bad input parameters | Inline |
404 | Not Found | Videostitching job was not found | Inline |
409 | Conflict | Videostitching job is already cancelled | Inline |
418 | I'm a teapot | Videostitching job is already done | Inline |
500 | Internal Server Error | Internal Server Error | Inline |
default | Default | An unexpected error response. | google.rpc.Status |
Response Schema
VideostitchingService_CancelOutputJob
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.put('https://mcls-api.mycujoo.tv/stitcher/v1/jobs/{id}/outputs/{output_id}/cancel', 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("PUT", "https://mcls-api.mycujoo.tv/stitcher/v1/jobs/{id}/outputs/{output_id}/cancel", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT https://mcls-api.mycujoo.tv/stitcher/v1/jobs/{id}/outputs/{output_id}/cancel 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/stitcher/v1/jobs/{id}/outputs/{output_id}/cancel',
{
method: 'PUT',
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/stitcher/v1/jobs/{id}/outputs/{output_id}/cancel',
{
method: 'PUT',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT /stitcher/v1/jobs/{id}/outputs/{output_id}/cancel
Cancels an existing videostitching output job
Body parameter
{}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | ID of the videostitching job |
output_id | path | string | true | ID of the output |
body | body | object | true | none |
Example responses
200 Response
{
"id": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.videostitching.v1.CancelOutputJobResponse |
400 | Bad Request | Bad input parameters | Inline |
404 | Not Found | Videostitching job was not found | Inline |
409 | Conflict | Videostitching job is already cancelled | Inline |
418 | I'm a teapot | Output job is already done | Inline |
500 | Internal Server Error | Internal Server Error | Inline |
default | Default | An unexpected error response. | google.rpc.Status |
Response Schema
Start a Job
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/stitcher/v1/jobs/{id}/start', 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/stitcher/v1/jobs/{id}/start", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/stitcher/v1/jobs/{id}/start 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/stitcher/v1/jobs/{id}/start',
{
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/stitcher/v1/jobs/{id}/start',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /stitcher/v1/jobs/{id}/start
Starts an existing videostitching job
Body parameter
{}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | Id of the videostitching |
body | body | object | true | none |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.videostitching.v1.StartJobResponse |
400 | Bad Request | Bad input parameters | Inline |
404 | Not Found | Videostitching job was not found | Inline |
409 | Conflict | Videostitching job is already running | Inline |
500 | Internal Server Error | Internal Server Error | Inline |
default | Default | An unexpected error response. | google.rpc.Status |
Response Schema
Get a Job
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/stitcher/v1/jobs/{job_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/stitcher/v1/jobs/{job_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/stitcher/v1/jobs/{job_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/stitcher/v1/jobs/{job_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/stitcher/v1/jobs/{job_id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /stitcher/v1/jobs/{job_id}
Returns a videostitching job by its id
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
job_id | path | string | true | Id of the project |
Example responses
200 Response
{
"job": {
"create_time": "2019-08-24T14:15:22Z",
"id": "string",
"inputs": [
{
"asset": {
"asset_id": "string",
"end_offset": "string",
"start_offset": "string"
},
"clip": {
"clip_id": "string",
"end_offset": "string",
"start_offset": "string"
},
"stream": {
"end_offset": "string",
"resource_type": "STREAM_RESOURCE_TYPE_UNSPECIFIED",
"start_offset": "string",
"stream_id": "string"
}
}
],
"org_id": "string",
"outputs": [
{
"asset": {
"asset_id": "string",
"transcoding_settings": {
"audio_bitrate": 32,
"follow_source_fps": true,
"gop": 25,
"id": "string",
"interlacing_filter_mode": "INTERLACING_FILTER_MODE_UNSPECIFIED",
"key_frame_interval": 1,
"level": 0.1,
"profile": "TRANSCODING_PROFILE_UNSPECIFIED"
},
"video_representation": {
"bitrate": 100,
"framerate": 24,
"height": 240,
"id": "string",
"width": 320
},
"watermark": {
"height": 0,
"id": "string",
"position_preset": "POSITION_UNSPECIFIED",
"url": "string",
"width": 0
}
},
"last_execution_time": "2019-08-24T14:15:22Z",
"output_id": "string",
"output_status": "OUTPUT_STATUS_UNSPECIFIED",
"stream": {
"stream_id": "string"
}
}
],
"project_id": "string",
"status": "JOB_STATUS_UNSPECIFIED",
"title": "string",
"update_time": "2019-08-24T14:15:22Z"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.videostitching.v1.GetJobResponse |
404 | Not Found | Job not found | Inline |
500 | Internal Server Error | Internal Server Error | Inline |
default | Default | An unexpected error response. | google.rpc.Status |
Response Schema
List Jobs
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/videostitching/v1/jobs', params={
'page_size': '0'
}, 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/videostitching/v1/jobs", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/videostitching/v1/jobs?page_size=0 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/videostitching/v1/jobs?page_size=0',
{
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/videostitching/v1/jobs?page_size=0',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /videostitching/v1/jobs
Lists all videostitching jobs
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
page_size | query | integer(int32) | true | Maximum number of records to return. |
page_token | query | string | false | The pagination token from the List request. |
filter | query | string | false | Filter |
Example responses
200 Response
{
"jobs": [
{
"create_time": "2019-08-24T14:15:22Z",
"id": "string",
"inputs": [
{
"asset": {
"asset_id": "string",
"end_offset": "string",
"start_offset": "string"
},
"clip": {
"clip_id": "string",
"end_offset": "string",
"start_offset": "string"
},
"stream": {
"end_offset": "string",
"resource_type": "STREAM_RESOURCE_TYPE_UNSPECIFIED",
"start_offset": "string",
"stream_id": "string"
}
}
],
"org_id": "string",
"outputs": [
{
"asset": {
"asset_id": "string",
"transcoding_settings": {
"audio_bitrate": 32,
"follow_source_fps": true,
"gop": 25,
"id": "string",
"interlacing_filter_mode": "INTERLACING_FILTER_MODE_UNSPECIFIED",
"key_frame_interval": 1,
"level": 0.1,
"profile": "TRANSCODING_PROFILE_UNSPECIFIED"
},
"video_representation": {
"bitrate": 100,
"framerate": 24,
"height": 240,
"id": "string",
"width": 320
},
"watermark": {
"height": 0,
"id": "string",
"position_preset": "POSITION_UNSPECIFIED",
"url": "string",
"width": 0
}
},
"last_execution_time": "2019-08-24T14:15:22Z",
"output_id": "string",
"output_status": "OUTPUT_STATUS_UNSPECIFIED",
"stream": {
"stream_id": "string"
}
}
],
"project_id": "string",
"status": "JOB_STATUS_UNSPECIFIED",
"title": "string",
"update_time": "2019-08-24T14:15:22Z"
}
],
"next_page_token": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.videostitching.v1.ListJobsResponse |
500 | Internal Server Error | Internal Server Error | Inline |
default | Default | An unexpected error response. | google.rpc.Status |
Response Schema
Create a Job
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/videostitching/v1/jobs', 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/videostitching/v1/jobs", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/videostitching/v1/jobs HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"inputs": [
{
"asset": {
"asset_id": "string",
"end_offset": "string",
"start_offset": "string"
},
"clip": {
"clip_id": "string",
"end_offset": "string",
"start_offset": "string"
},
"stream": {
"end_offset": "string",
"resource_type": "STREAM_RESOURCE_TYPE_UNSPECIFIED",
"start_offset": "string",
"stream_id": "string"
}
}
],
"outputs": [
{
"asset": {
"config": {
"transcoding_settings_id": "string",
"video_representation_id": "string",
"watermark_id": "string"
},
"labels": {
"property1": "string",
"property2": "string"
},
"title": "string"
},
"stream": {
"stream_id": "string"
}
}
],
"project_id": "string",
"start_immediately": true,
"title": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/videostitching/v1/jobs',
{
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 = {
"inputs": [
{
"asset": {
"asset_id": "string",
"end_offset": "string",
"start_offset": "string"
},
"clip": {
"clip_id": "string",
"end_offset": "string",
"start_offset": "string"
},
"stream": {
"end_offset": "string",
"resource_type": "STREAM_RESOURCE_TYPE_UNSPECIFIED",
"start_offset": "string",
"stream_id": "string"
}
}
],
"outputs": [
{
"asset": {
"config": {
"transcoding_settings_id": "string",
"video_representation_id": "string",
"watermark_id": "string"
},
"labels": {
"property1": "string",
"property2": "string"
},
"title": "string"
},
"stream": {
"stream_id": "string"
}
}
],
"project_id": "string",
"start_immediately": true,
"title": "string"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/videostitching/v1/jobs',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /videostitching/v1/jobs
Creates a new videostitching job
Body parameter
{
"inputs": [
{
"asset": {
"asset_id": "string",
"end_offset": "string",
"start_offset": "string"
},
"clip": {
"clip_id": "string",
"end_offset": "string",
"start_offset": "string"
},
"stream": {
"end_offset": "string",
"resource_type": "STREAM_RESOURCE_TYPE_UNSPECIFIED",
"start_offset": "string",
"stream_id": "string"
}
}
],
"outputs": [
{
"asset": {
"config": {
"transcoding_settings_id": "string",
"video_representation_id": "string",
"watermark_id": "string"
},
"labels": {
"property1": "string",
"property2": "string"
},
"title": "string"
},
"stream": {
"stream_id": "string"
}
}
],
"project_id": "string",
"start_immediately": true,
"title": "string"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | mycujoo.videostitching.v1.CreateJobRequest | true | none |
Example responses
200 Response
{
"job": {
"create_time": "2019-08-24T14:15:22Z",
"id": "string",
"inputs": [
{
"asset": {
"asset_id": "string",
"end_offset": "string",
"start_offset": "string"
},
"clip": {
"clip_id": "string",
"end_offset": "string",
"start_offset": "string"
},
"stream": {
"end_offset": "string",
"resource_type": "STREAM_RESOURCE_TYPE_UNSPECIFIED",
"start_offset": "string",
"stream_id": "string"
}
}
],
"org_id": "string",
"outputs": [
{
"asset": {
"asset_id": "string",
"transcoding_settings": {
"audio_bitrate": 32,
"follow_source_fps": true,
"gop": 25,
"id": "string",
"interlacing_filter_mode": "INTERLACING_FILTER_MODE_UNSPECIFIED",
"key_frame_interval": 1,
"level": 0.1,
"profile": "TRANSCODING_PROFILE_UNSPECIFIED"
},
"video_representation": {
"bitrate": 100,
"framerate": 24,
"height": 240,
"id": "string",
"width": 320
},
"watermark": {
"height": 0,
"id": "string",
"position_preset": "POSITION_UNSPECIFIED",
"url": "string",
"width": 0
}
},
"last_execution_time": "2019-08-24T14:15:22Z",
"output_id": "string",
"output_status": "OUTPUT_STATUS_UNSPECIFIED",
"stream": {
"stream_id": "string"
}
}
],
"project_id": "string",
"status": "JOB_STATUS_UNSPECIFIED",
"title": "string",
"update_time": "2019-08-24T14:15:22Z"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.videostitching.v1.CreateJobResponse |
400 | Bad Request | Bad input parameters | Inline |
404 | Not Found | Input source was not found | Inline |
409 | Conflict | Video stitcher job already exists | Inline |
500 | Internal Server Error | Internal Server Error | Inline |
default | Default | An unexpected error response. | google.rpc.Status |
Response Schema
Retry a single output job
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/videostitching/v1/jobs/{job_id}/outputs/{output_id}/retry', 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/videostitching/v1/jobs/{job_id}/outputs/{output_id}/retry", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/videostitching/v1/jobs/{job_id}/outputs/{output_id}/retry HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"force": true
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/videostitching/v1/jobs/{job_id}/outputs/{output_id}/retry',
{
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 = {
"force": true
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/videostitching/v1/jobs/{job_id}/outputs/{output_id}/retry',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /videostitching/v1/jobs/{job_id}/outputs/{output_id}/retry
Retries a single output job
Body parameter
{
"force": true
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
job_id | path | string | true | Id of the job |
output_id | path | string | true | Id of the output |
body | body | object | true | none |
ยป force | body | boolean | false | none |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.videostitching.v1.RetryOutputJobResponse |
400 | Bad Request | Bad input parameters | Inline |
404 | Not Found | Output was not found | Inline |
409 | Conflict | The output is already being processed | Inline |
500 | Internal Server Error | Internal Server Error | Inline |
default | Default | An unexpected error response. | google.rpc.Status |
Response Schema
Retry a Job
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/videostitching/v1/jobs/{job_id}/retry', 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/videostitching/v1/jobs/{job_id}/retry", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/videostitching/v1/jobs/{job_id}/retry HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json
const inputBody = '{
"force": true
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/videostitching/v1/jobs/{job_id}/retry',
{
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 = {
"force": true
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/videostitching/v1/jobs/{job_id}/retry',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /videostitching/v1/jobs/{job_id}/retry
Retries a job and its outputs
Body parameter
{
"force": true
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
job_id | path | string | true | Id of the job |
body | body | object | true | none |
ยป force | body | boolean | false | none |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.videostitching.v1.RetryJobResponse |
400 | Bad Request | Bad input parameters | Inline |
404 | Not Found | Output was not found | Inline |
409 | Conflict | The job is already being processed | Inline |
500 | Internal Server Error | Internal Server Error | Inline |
default | Default | An unexpected error response. | google.rpc.Status |
Response Schema
List Transcoding Settings
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/videostitching/v1/transcoding_settings', params={
'page_size': '0'
}, 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/videostitching/v1/transcoding_settings", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/videostitching/v1/transcoding_settings?page_size=0 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/videostitching/v1/transcoding_settings?page_size=0',
{
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/videostitching/v1/transcoding_settings?page_size=0',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /videostitching/v1/transcoding_settings
Lists avaliable transcoding settings
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
page_size | query | integer(int32) | true | Maximum number of records to return. |
page_token | query | string | false | The pagination token from the List request. |
filter | query | string | false | Filter |
Example responses
200 Response
{
"next_page_token": "string",
"transcoding_settings": [
{
"audio_bitrate": 32,
"follow_source_fps": true,
"gop": 25,
"id": "string",
"interlacing_filter_mode": "INTERLACING_FILTER_MODE_UNSPECIFIED",
"key_frame_interval": 1,
"level": 0.1,
"profile": "TRANSCODING_PROFILE_UNSPECIFIED"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.videostitching.v1.ListTranscodingSettingsResponse |
500 | Internal Server Error | Internal Server Error | Inline |
default | Default | An unexpected error response. | google.rpc.Status |
Response Schema
List Video Representations
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/videostitching/v1/video_representations', params={
'page_size': '0'
}, 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/videostitching/v1/video_representations", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/videostitching/v1/video_representations?page_size=0 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/videostitching/v1/video_representations?page_size=0',
{
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/videostitching/v1/video_representations?page_size=0',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /videostitching/v1/video_representations
Lists avaliable video representations
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
page_size | query | integer(int32) | true | Maximum number of records to return. |
page_token | query | string | false | The pagination token from the List request. |
filter | query | string | false | Filter |
Example responses
200 Response
{
"next_page_token": "string",
"video_representations": [
{
"bitrate": 100,
"framerate": 24,
"height": 240,
"id": "string",
"width": 320
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.videostitching.v1.ListVideoRepresentationsResponse |
500 | Internal Server Error | Internal Server Error | Inline |
default | Default | An unexpected error response. | google.rpc.Status |
Response Schema
Lists Watermarks
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://mcls-api.mycujoo.tv/videostitching/v1/watermarks', params={
'page_size': '0'
}, 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/videostitching/v1/watermarks", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/videostitching/v1/watermarks?page_size=0 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/videostitching/v1/watermarks?page_size=0',
{
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/videostitching/v1/watermarks?page_size=0',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /videostitching/v1/watermarks
Lists avaliable watermarks
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
page_size | query | integer(int32) | true | Maximum number of records to return. |
page_token | query | string | false | The pagination token from the List request. |
filter | query | string | false | Filter |
Example responses
200 Response
{
"next_page_token": "string",
"watermarks": [
{
"height": 0,
"id": "string",
"position_preset": "POSITION_UNSPECIFIED",
"url": "string",
"width": 0
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response. | mycujoo.videostitching.v1.ListWatermarksResponse |
500 | Internal Server Error | Internal Server Error | Inline |
default | Default | An unexpected error response. | google.rpc.Status |
Response Schema
Playlist Edge
Set an alternative playlist to a specific stream.
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer $MCLS_TOKEN',
'Authorization': 'API_KEY'
}
r = requests.post('https://mcls-api.mycujoo.tv/edge/playlist/{stream_id}/alternative', headers = headers)
print(r.json())
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Authorization": []string{"Bearer $MCLS_TOKEN"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://mcls-api.mycujoo.tv/edge/playlist/{stream_id}/alternative", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://mcls-api.mycujoo.tv/edge/playlist/{stream_id}/alternative HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Authorization: Bearer $MCLS_TOKEN
const inputBody = '{
"master": "https://yourserver.example.org/live/myapp/master.m3u8",
"publish": true
}';
const headers = {
'Content-Type':'application/json',
'Authorization':'Bearer $MCLS_TOKEN',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/edge/playlist/{stream_id}/alternative',
{
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 = {
"master": "https://yourserver.example.org/live/myapp/master.m3u8",
"publish": true
};
const headers = {
'Content-Type':'application/json',
'Authorization':'Bearer $MCLS_TOKEN',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/edge/playlist/{stream_id}/alternative',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /edge/playlist/{stream_id}/alternative
Set an alternative URL to a specific stream. If publish is set to true the publishing flow will be forcibly triggered for this particular stream.
Body parameter
{
"master": "https://yourserver.example.org/live/myapp/master.m3u8",
"publish": true
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
stream_id | path | string | true | Indicates the target |
Authorization | header | string | true | none |
body | body | SetAlternativeRequest | false | none |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Alternative playlist has been set | None |
400 | Bad Request | bad input parameter | None |
401 | Unauthorized | authorization failed | None |
Remove an alternative URL from a specific stream.
Code samples
import requests
headers = {
'Authorization': 'Bearer $MCLS_TOKEN',
'Authorization': 'API_KEY'
}
r = requests.delete('https://mcls-api.mycujoo.tv/edge/playlist/{stream_id}/alternative', headers = headers)
print(r.json())
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Authorization": []string{"Bearer $MCLS_TOKEN"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "https://mcls-api.mycujoo.tv/edge/playlist/{stream_id}/alternative", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE https://mcls-api.mycujoo.tv/edge/playlist/{stream_id}/alternative HTTP/1.1
Host: mcls-api.mycujoo.tv
Authorization: Bearer $MCLS_TOKEN
const headers = {
'Authorization':'Bearer $MCLS_TOKEN',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/edge/playlist/{stream_id}/alternative',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const headers = {
'Authorization':'Bearer $MCLS_TOKEN',
'Authorization':'API_KEY'
};
fetch('https://mcls-api.mycujoo.tv/edge/playlist/{stream_id}/alternative',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE /edge/playlist/{stream_id}/alternative
Remove an alternative URL from a specific stream.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
stream_id | path | string | true | Indicates the target |
Authorization | header | string | true | none |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Alternative playlist has been set | None |
400 | Bad Request | bad input parameter | None |
401 | Unauthorized | authorization failed | None |
UploadAsset
Upload Information
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'bearer xxxxxxx'
}
r = requests.get('https://mcls-api.mycujoo.tv/upload', headers = headers)
print(r.json())
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"bearer xxxxxxx"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://mcls-api.mycujoo.tv/upload", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET https://mcls-api.mycujoo.tv/upload HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json
Authorization: bearer xxxxxxx
const headers = {
'Accept':'application/json',
'Authorization':'bearer xxxxxxx'
};
fetch('https://mcls-api.mycujoo.tv/upload',
{
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':'bearer xxxxxxx'
};
fetch('https://mcls-api.mycujoo.tv/upload',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /upload
Returns the current state of the upload URL.
Asset Service CreateUploadRequest
generates the full URL for upload.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
sig | query | string | false | Generated signature by Asset Service that allows user to upload the file with the predefined metadata |
Authorization | header | string | true | none |
Example responses
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | successful upload | None |
400 | Bad Request | bad input parameter | None |
500 | Internal Server Error | internal server error | None |
Response Schema
Uploads an asset
Code samples
import requests
headers = {
'Content-Type': 'multipart/form-data',
'Accept': 'application/json',
'Authorization': 'bearer xxxxxxx'
}
r = requests.put('https://mcls-api.mycujoo.tv/upload', headers = headers)
print(r.json())
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"multipart/form-data"},
"Accept": []string{"application/json"},
"Authorization": []string{"bearer xxxxxxx"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "https://mcls-api.mycujoo.tv/upload", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT https://mcls-api.mycujoo.tv/upload HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: multipart/form-data
Accept: application/json
Authorization: bearer xxxxxxx
const inputBody = '{
"payload": "string"
}';
const headers = {
'Content-Type':'multipart/form-data',
'Accept':'application/json',
'Authorization':'bearer xxxxxxx'
};
fetch('https://mcls-api.mycujoo.tv/upload',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const inputBody = {
"payload": "string"
};
const headers = {
'Content-Type':'multipart/form-data',
'Accept':'application/json',
'Authorization':'bearer xxxxxxx'
};
fetch('https://mcls-api.mycujoo.tv/upload',
{
method: 'PUT',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT /upload
Uploads a new asset into storage. It uses authorization token to select the organization.
Asset Service CreateUploadRequest
generates the full URL for upload.
Body parameter
payload: string
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
sig | query | string | false | Generated signature by Asset Service that allows user to upload the file with the predefined metadata |
Authorization | header | string | true | none |
body | body | object | false | none |
ยป payload | body | string(binary) | false | Bytes of the chunk |
Example responses
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | successful chunk upload | None |
201 | Created | successful upload | None |
400 | Bad Request | bad input parameter | None |
500 | Internal Server Error | internal server error | None |
Response Schema
Schemas
SetAlternativeRequest
{
"master": "https://yourserver.example.org/live/myapp/master.m3u8",
"publish": true
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
master | string | true | none | none |
publish | boolean | false | none | none |
google.protobuf.Any
{
"@type": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
@type | string | false | none | none |
google.protobuf.NullValue
"NULL_VALUE"
NullValue
is a singleton enumeration to represent the null value for the
Value
type union.
The JSON representation for NullValue
is JSON null
.
- NULL_VALUE: Null value.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | NullValue is a singleton enumeration to represent the null value for theValue type union.The JSON representation for NullValue is JSON null .- NULL_VALUE: Null value. |
Enumerated Values
Property | Value |
---|---|
anonymous | NULL_VALUE |
google.rpc.Status
{
"code": 0,
"details": [
{
"@type": "string"
}
],
"message": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
code | integer(int32) | false | none | none |
details | [google.protobuf.Any] | false | none | none |
message | string | false | none | none |
google.type.CalendarPeriod
"CALENDAR_PERIOD_UNSPECIFIED"
A CalendarPeriod
represents the abstract concept of a time period that has
a canonical start. Grammatically, "the start of the current
CalendarPeriod
." All calendar times begin at midnight UTC.
- CALENDAR_PERIOD_UNSPECIFIED: Undefined period, raises an error.
- DAY: A day.
- WEEK: A week. Weeks begin on Monday, following ISO 8601.
- FORTNIGHT: A fortnight. The first calendar fortnight of the year begins at the start of week 1 according to ISO 8601.
- MONTH: A month.
- QUARTER: A quarter. Quarters start on dates 1-Jan, 1-Apr, 1-Jul, and 1-Oct of each year.
- HALF: A half-year. Half-years start on dates 1-Jan and 1-Jul.
- YEAR: A year.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | A CalendarPeriod represents the abstract concept of a time period that hasa canonical start. Grammatically, "the start of the current CalendarPeriod ." All calendar times begin at midnight UTC.- CALENDAR_PERIOD_UNSPECIFIED: Undefined period, raises an error. - DAY: A day. - WEEK: A week. Weeks begin on Monday, following ISO 8601. - FORTNIGHT: A fortnight. The first calendar fortnight of the year begins at the start of week 1 according to ISO 8601. - MONTH: A month. - QUARTER: A quarter. Quarters start on dates 1-Jan, 1-Apr, 1-Jul, and 1-Oct of each year. - HALF: A half-year. Half-years start on dates 1-Jan and 1-Jul. - YEAR: A year. |
Enumerated Values
Property | Value |
---|---|
anonymous | CALENDAR_PERIOD_UNSPECIFIED |
anonymous | DAY |
anonymous | WEEK |
anonymous | FORTNIGHT |
anonymous | MONTH |
anonymous | QUARTER |
anonymous | HALF |
anonymous | YEAR |
google.type.Interval
{
"end_time": "2019-08-24T14:15:22Z",
"start_time": "2019-08-24T14:15:22Z"
}
Represents a time interval, encoded as a Timestamp start (inclusive) and a Timestamp end (exclusive).
The start must be less than or equal to the end. When the start equals the end, the interval is empty (matches no time). When both start and end are unspecified, the interval matches any time.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
end_time | string(date-time) | false | none | Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end. |
start_time | string(date-time) | false | none | Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start. |
google.type.LatLng
{
"latitude": 0.1,
"longitude": 0.1
}
An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this must conform to the WGS84 standard. Values must be within normalized ranges.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
latitude | number(double) | false | none | The latitude in degrees. It must be in the range [-90.0, +90.0]. |
longitude | number(double) | false | none | The longitude in degrees. It must be in the range [-180.0, +180.0]. |
google.type.Money
{
"currency_code": "string",
"nanos": 0,
"units": "string"
}
Represents an amount of money with its currency type.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
currency_code | string | false | none | The three-letter currency code defined in ISO 4217. |
nanos | integer(int32) | false | none | Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If units is positive, nanos must be positive or zero.If units is zero, nanos can be positive, zero, or negative.If units is negative, nanos must be negative or zero.For example $-1.75 is represented as units =-1 and nanos =-750,000,000. |
units | string(int64) | false | none | The whole units of the amount. For example if currencyCode is "USD" , then 1 unit is one US dollar. |
mycujoo.accounting.v1beta1.AmountUnit
"AMOUNT_UNIT_UNSPECIFIED"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | AMOUNT_UNIT_UNSPECIFIED |
anonymous | AMOUNT_UNIT_SIZE_BYTE |
anonymous | AMOUNT_UNIT_SIZE_GB |
anonymous | AMOUNT_UNIT_TIME_SECOND |
anonymous | AMOUNT_UNIT_TIME_MINUTE |
anonymous | AMOUNT_UNIT_COUNT |
mycujoo.accounting.v1beta1.Card
{
"brand": "string",
"exp_month": 0,
"exp_year": 0,
"last_digits": "string",
"name": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
brand | string | false | none | Defines card brand name i.e Visa, mastercard, mastero, etc. |
exp_month | integer(int32) | false | none | none |
exp_year | integer(int32) | false | none | none |
last_digits | string | false | none | none |
name | string | false | none | none |
mycujoo.accounting.v1beta1.CreateStripePaymentMethodRequest
{
"setup_intent_id": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
setup_intent_id | string | false | none | Unique identifier for the setup intent object. You can make it through calling the confirmCardSetup method (Stripe SDK). |
mycujoo.accounting.v1beta1.CreateStripePaymentMethodResponse
{
"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"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
payment_method | mycujoo.accounting.v1beta1.PaymentMethod | false | none | none |
mycujoo.accounting.v1beta1.CreateStripeSetupIntentRequest
{}
Properties
None
mycujoo.accounting.v1beta1.CreateStripeSetupIntentResponse
{
"client_secret": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
client_secret | string | false | none | The client secret can be used to complete payment setup from your frontend. It should not be stored, logged, embedded in URLs, or exposed to anyone other than the customer. Make sure that you have TLS enabled on any page that includes the client secret. |
mycujoo.accounting.v1beta1.DeletePaymentMethodResponse
{}
Properties
None
mycujoo.accounting.v1beta1.Discount
{
"end_time": "2019-08-24T14:15:22Z",
"max_usage": 0.1,
"min_usage": 0.1,
"price": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"start_time": "2019-08-24T14:15:22Z"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
end_time | string(date-time) | false | none | none |
max_usage | number(double) | false | none | none |
min_usage | number(double) | false | none | none |
price | google.type.Money | false | none | Represents an amount of money with its currency type. |
start_time | string(date-time) | false | none | none |
mycujoo.accounting.v1beta1.DiscountedPricing
{
"current_usage": 0.1,
"description": "string",
"discounts": [
{
"end_time": "2019-08-24T14:15:22Z",
"max_usage": 0.1,
"min_usage": 0.1,
"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"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
current_usage | number(double) | false | none | none |
description | string | false | none | none |
discounts | [mycujoo.accounting.v1beta1.Discount] | false | none | none |
msrp | google.type.Money | false | none | Represents an amount of money with its currency type. |
price | google.type.Money | false | none | Represents an amount of money with its currency type. |
sku_id | string | false | none | none |
mycujoo.accounting.v1beta1.DownloadInvoiceResponse
{
"download_url": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
download_url | string | false | none | none |
mycujoo.accounting.v1beta1.GetOrganizationResponse
{
"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"
}
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
organization | mycujoo.accounting.v1beta1.Organization | false | none | none |
mycujoo.accounting.v1beta1.GetPaymentMethodResponse
{
"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"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
payment_method | mycujoo.accounting.v1beta1.PaymentMethod | false | none | none |
mycujoo.accounting.v1beta1.GetVATValidationResponse
{
"company_address": "string",
"company_name": "string",
"country_code": "string",
"is_valid": true,
"vat_number": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
company_address | string | false | none | The address of the company. |
company_name | string | false | none | The name of the company. |
country_code | string | false | none | none |
is_valid | boolean | false | none | Whether the VAT number is valid or not. |
vat_number | string | false | none | The VAT number. |
mycujoo.accounting.v1beta1.Invoice
{
"amount": 0.1,
"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.1,
"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.1,
"amount_unit": "AMOUNT_UNIT_UNSPECIFIED",
"cost": {
"amount": 0.1,
"currency": "string"
},
"description": "string",
"end_time": "2019-08-24T14:15:22Z",
"sku_id": "string",
"start_time": "2019-08-24T14:15:22Z"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
amount | number(double) | false | none | none |
currency | string | false | none | none |
due_time | string(date-time) | false | none | none |
end_time | string(date-time) | false | none | none |
id | string | false | none | none |
issue_time | string(date-time) | false | none | none |
org_id | string | false | none | none |
payment | mycujoo.accounting.v1beta1.Payment | false | none | none |
start_time | string(date-time) | false | none | none |
status | mycujoo.accounting.v1beta1.Status | false | none | none |
update_time | string(date-time) | false | none | none |
usages | [mycujoo.accounting.v1beta1.InvoiceUsage] | false | none | none |
mycujoo.accounting.v1beta1.InvoiceUsage
{
"amount": 0.1,
"amount_unit": "AMOUNT_UNIT_UNSPECIFIED",
"cost": {
"amount": 0.1,
"currency": "string"
},
"description": "string",
"end_time": "2019-08-24T14:15:22Z",
"sku_id": "string",
"start_time": "2019-08-24T14:15:22Z"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
amount | number(double) | false | none | none |
amount_unit | mycujoo.accounting.v1beta1.AmountUnit | false | none | none |
cost | mycujoo.accounting.v1beta1.InvoiceUsageCost | false | none | none |
description | string | false | none | none |
end_time | string(date-time) | false | none | none |
sku_id | string | false | none | none |
start_time | string(date-time) | false | none | none |
mycujoo.accounting.v1beta1.InvoiceUsageCost
{
"amount": 0.1,
"currency": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
amount | number(double) | false | none | none |
currency | string | false | none | none |
mycujoo.accounting.v1beta1.ListInvoicesResponse
{
"invoices": [
{
"amount": 0.1,
"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.1,
"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.1,
"amount_unit": "AMOUNT_UNIT_UNSPECIFIED",
"cost": {
"amount": 0.1,
"currency": "string"
},
"description": "string",
"end_time": "2019-08-24T14:15:22Z",
"sku_id": "string",
"start_time": "2019-08-24T14:15:22Z"
}
]
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
invoices | [mycujoo.accounting.v1beta1.Invoice] | false | none | none |
mycujoo.accounting.v1beta1.ListOrganizationPricingResponse
{
"pricings": [
{
"current_usage": 0.1,
"description": "string",
"discounts": [
{
"end_time": "2019-08-24T14:15:22Z",
"max_usage": 0.1,
"min_usage": 0.1,
"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"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
pricings | [mycujoo.accounting.v1beta1.DiscountedPricing] | false | none | none |
mycujoo.accounting.v1beta1.ListPaymentMethodsResponse
{
"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"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
payment_method | [mycujoo.accounting.v1beta1.PaymentMethod] | false | none | none |
mycujoo.accounting.v1beta1.ListPaymentsResponse
{
"payments": [
{
"amount": 0.1,
"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"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
payments | [mycujoo.accounting.v1beta1.Payment] | false | none | none |
mycujoo.accounting.v1beta1.ListPricingResponse
{
"pricings": [
{
"current_usage": 0.1,
"description": "string",
"discounts": [
{
"end_time": "2019-08-24T14:15:22Z",
"max_usage": 0.1,
"min_usage": 0.1,
"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"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
pricings | [mycujoo.accounting.v1beta1.DiscountedPricing] | false | none | none |
mycujoo.accounting.v1beta1.ListRunningSKUUsageResponse
{
"amount": 0.1,
"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.1,
"amount_unit": "AMOUNT_UNIT_UNSPECIFIED",
"cost": {
"amount": 0.1,
"currency": "string"
},
"description": "string",
"end_time": "2019-08-24T14:15:22Z",
"sku_id": "string",
"start_time": "2019-08-24T14:15:22Z"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
amount | number(double) | false | none | none |
currency | string | false | none | none |
end_time | string(date-time) | false | none | none |
start_time | string(date-time) | false | none | none |
update_time | string(date-time) | false | none | none |
usages | [mycujoo.accounting.v1beta1.RunningUsage] | false | none | none |
mycujoo.accounting.v1beta1.ListSKUUsageResponse
{
"next_page_token": "string",
"usages": [
{
"amount": 0.1,
"end_time": "2019-08-24T14:15:22Z",
"sku_id": "string",
"start_time": "2019-08-24T14:15:22Z"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
next_page_token | string | false | none | If there are more results than have been returned, then this field is set to a non-empty value. To see the additional results, use that value as page_token in the next call to this method. |
usages | [mycujoo.accounting.v1beta1.SKUUsage] | false | none | none |
mycujoo.accounting.v1beta1.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"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
string | false | none | none | |
id | string | false | none | none |
invoice_template_id | string | false | none | none |
is_enabled | boolean | false | none | none |
is_test | boolean | false | none | none |
name | string | false | none | none |
tax | mycujoo.accounting.v1beta1.Tax | false | none | none |
mycujoo.accounting.v1beta1.Payment
{
"amount": 0.1,
"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"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
amount | number(double) | false | none | Defines the paid amount. |
create_time | string(date-time) | false | none | Shows the creation time of this resource. |
currency | string | false | none | Currency of the payment as described in ISO 4217 standard. |
id | string | false | none | Unique Payment method ID. |
invoice_id | string | false | none | Defines source invoice ID. |
message | string | false | none | In a case that processing had an issue, this shows some detail and information regarding that. |
org_id | string | false | none | Defines resource owner ID. |
payment_method | mycujoo.accounting.v1beta1.PaymentMethod | false | none | none |
status | mycujoo.accounting.v1beta1.Payment.PaymentStatus | false | none | none |
mycujoo.accounting.v1beta1.Payment.PaymentStatus
"PAYMENT_STATUS_UNSPECIFIED"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | PAYMENT_STATUS_UNSPECIFIED |
anonymous | PAYMENT_STATUS_PAID |
anonymous | PAYMENT_STATUS_DEFERRED |
anonymous | PAYMENT_STATUS_FAILED |
anonymous | PAYMENT_STATUS_REFUNDED |
mycujoo.accounting.v1beta1.PaymentMethod
{
"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"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
card | mycujoo.accounting.v1beta1.Card | false | none | none |
create_time | string(date-time) | false | none | none |
id | string | false | none | none |
is_default | boolean | false | none | Defines whether this payment method is default or not Each organization MUST have one default payment method It's not possible that an organization doesn't have Default payment method. |
org_id | string | false | none | none |
provider | mycujoo.accounting.v1beta1.PaymentMethod.PaymentMethodProvider | false | none | none |
update_time | string(date-time) | false | none | none |
mycujoo.accounting.v1beta1.PaymentMethod.PaymentMethodProvider
"PAYMENT_METHOD_PROVIDER_UNSPECIFIED"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | PAYMENT_METHOD_PROVIDER_UNSPECIFIED |
anonymous | PAYMENT_METHOD_PROVIDER_STRIPE |
mycujoo.accounting.v1beta1.PaymentMethodUpdate
{
"is_default": true
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
is_default | boolean | false | none | Defines whether this payment method is default or not Each organization MUST have one default payment method It's not possible that an organization doesn't have Default payment method. |
mycujoo.accounting.v1beta1.PutOrganizationResponse
{
"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"
}
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
organization | mycujoo.accounting.v1beta1.Organization | false | none | none |
mycujoo.accounting.v1beta1.RunningUsage
{
"amount": 0.1,
"amount_unit": "AMOUNT_UNIT_UNSPECIFIED",
"cost": {
"amount": 0.1,
"currency": "string"
},
"description": "string",
"end_time": "2019-08-24T14:15:22Z",
"sku_id": "string",
"start_time": "2019-08-24T14:15:22Z"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
amount | number(double) | false | none | none |
amount_unit | mycujoo.accounting.v1beta1.AmountUnit | false | none | none |
cost | mycujoo.accounting.v1beta1.RunningUsageCost | false | none | none |
description | string | false | none | none |
end_time | string(date-time) | false | none | none |
sku_id | string | false | none | none |
start_time | string(date-time) | false | none | none |
mycujoo.accounting.v1beta1.RunningUsageCost
{
"amount": 0.1,
"currency": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
amount | number(double) | false | none | none |
currency | string | false | none | none |
mycujoo.accounting.v1beta1.SKUUsage
{
"amount": 0.1,
"end_time": "2019-08-24T14:15:22Z",
"sku_id": "string",
"start_time": "2019-08-24T14:15:22Z"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
amount | number(double) | false | none | none |
end_time | string(date-time) | false | none | none |
sku_id | string | false | none | none |
start_time | string(date-time) | false | none | none |
mycujoo.accounting.v1beta1.Status
"STATUS_UNSPECIFIED"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | STATUS_UNSPECIFIED |
anonymous | STATUS_ISSUED |
anonymous | STATUS_VIEWED |
anonymous | STATUS_PAID |
anonymous | STATUS_OVERDUE |
anonymous | STATUS_CANCELLED |
anonymous | STATUS_DEFERRED |
mycujoo.accounting.v1beta1.Tax
{
"address_lines": [
"string"
],
"city": "string",
"country": "st",
"id": "string",
"name": "string",
"phone_number": "string",
"province": "string",
"zip_code": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
address_lines | [string] | false | none | The address to which the tax identifier belongs Maximum length of each line must be 100 characters. |
city | string | false | none | none |
country | string | false | none | none |
id | string | false | none | none |
name | string | false | none | none |
phone_number | string | false | none | none |
province | string | false | none | none |
zip_code | string | false | none | none |
mycujoo.accounting.v1beta1.UpdateOrganizationResponse
{
"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"
}
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
organization | mycujoo.accounting.v1beta1.Organization | false | none | none |
mycujoo.accounting.v1beta1.UpdatePaymentMethodResponse
{
"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"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
payment_method | mycujoo.accounting.v1beta1.PaymentMethod | false | none | none |
mycujoo.accounts.v1.Account
{
"email": "string",
"first_name": "string",
"id": "string",
"is_verified": true,
"last_name": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
string | false | none | none | |
first_name | string | false | none | none |
id | string | false | read-only | none |
is_verified | boolean | false | read-only | none |
last_name | string | false | none | none |
mycujoo.accounts.v1.AccountUpdate
{
"first_name": "string",
"last_name": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
first_name | string | false | none | none |
last_name | string | false | none | none |
mycujoo.accounts.v1.BatchDeleteAccountsRequest
{
"ids": [
"string"
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ids | [string] | false | none | none |
mycujoo.accounts.v1.BatchDeleteAccountsResponse
{}
Properties
None
mycujoo.accounts.v1.BatchGetAccountsByEmailRequest
{
"email_addresses": [
"string"
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
email_addresses | [string] | true | none | none |
mycujoo.accounts.v1.BatchGetAccountsByEmailResponse
{
"accounts": [
{
"email": "string",
"first_name": "string",
"id": "string",
"is_verified": true,
"last_name": "string"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
accounts | [mycujoo.accounts.v1.Account] | false | none | none |
mycujoo.accounts.v1.BatchGetAccountsRequest
{
"account_ids": [
"string"
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
account_ids | [string] | true | none | none |
mycujoo.accounts.v1.BatchGetAccountsResponse
{
"accounts": [
{
"email": "string",
"first_name": "string",
"id": "string",
"is_verified": true,
"last_name": "string"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
accounts | [mycujoo.accounts.v1.Account] | false | none | none |
mycujoo.accounts.v1.ChangePasswordRequest
{
"new_password": "string",
"old_password": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
new_password | string | true | none | none |
old_password | string | true | none | none |
mycujoo.accounts.v1.ChangePasswordResponse
{}
Properties
None
mycujoo.accounts.v1.CheckPasswordResetRequest
{
"reset_code": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
reset_code | string | true | none | none |
mycujoo.accounts.v1.CheckPasswordResetResponse
{
"token": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
token | string | false | none | none |
mycujoo.accounts.v1.CreateAccountRequest
{
"email": "string",
"first_name": "string",
"last_name": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
string | true | none | none | |
first_name | string | false | none | none |
last_name | string | false | none | none |
mycujoo.accounts.v1.CreateAccountResponse
{
"password": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
password | string | false | none | none |
mycujoo.accounts.v1.DeleteBindingsResponse
{}
Properties
None
mycujoo.accounts.v1.GetAccountResponse
{
"account": {
"email": "string",
"first_name": "string",
"id": "string",
"is_verified": true,
"last_name": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
account | mycujoo.accounts.v1.Account | false | none | none |
mycujoo.accounts.v1.GetMyAccountResponse
{
"account": {
"email": "string",
"first_name": "string",
"id": "string",
"is_verified": true,
"last_name": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
account | mycujoo.accounts.v1.Account | false | none | none |
mycujoo.accounts.v1.InviteAccountRequest
{
"email": "string",
"first_name": "string",
"last_name": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
string | true | none | none | |
first_name | string | false | none | none |
last_name | string | false | none | none |
mycujoo.accounts.v1.InviteAccountResponse
{
"account_id": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
account_id | string | false | none | none |
mycujoo.accounts.v1.ListAccountsResponse
{
"accounts": [
{
"email": "string",
"first_name": "string",
"id": "string",
"is_verified": true,
"last_name": "string"
}
],
"next_page_token": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
accounts | [mycujoo.accounts.v1.Account] | false | none | none |
next_page_token | string | false | none | If there are more results than have been returned, then this field is set to a non-empty value. To see the additional results, use that value as page_token in the next call to this method. |
mycujoo.accounts.v1.ResendAccountVerificationRequest
{
"email": "string",
"org_id": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
string | true | none | none | |
org_id | string | true | none | none |
mycujoo.accounts.v1.ResendAccountVerificationResponse
{}
Properties
None
mycujoo.accounts.v1.ResetPasswordRequest
{
"new_password": "string",
"reset_code": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
new_password | string | true | none | none |
reset_code | string | true | none | none |
mycujoo.accounts.v1.ResetPasswordResponse
{}
Properties
None
mycujoo.accounts.v1.SendPasswordResetRequest
{
"email": "string",
"org_id": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
string | true | none | none | |
org_id | string | true | none | none |
mycujoo.accounts.v1.SendPasswordResetResponse
{}
Properties
None
mycujoo.accounts.v1.UpdateAccountResponse
{
"account": {
"email": "string",
"first_name": "string",
"id": "string",
"is_verified": true,
"last_name": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
account | mycujoo.accounts.v1.Account | false | none | none |
mycujoo.accounts.v1.VerifyAccountEmailRequest
{
"account_id": "string",
"org_id": "string",
"verification_code": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
account_id | string | true | none | none |
org_id | string | true | none | none |
verification_code | string | true | none | none |
mycujoo.accounts.v1.VerifyAccountEmailResponse
{
"token": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
token | string | false | none | none |
mycujoo.actions.v1beta1.Action
{
"action_fields": [
{
"bool_value": true,
"datetime_value": "2019-08-24T14:15:22Z",
"float_value": 0.1,
"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.1,
"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"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
action_fields | [mycujoo.actions.v1beta1.ActionField] | false | none | none |
category_id | string | false | none | none |
description | string | false | none | none |
icon_url | string | false | none | none |
id | string | false | none | none |
is_active | boolean | false | none | none |
request_schema_id | string | false | none | none |
request_topic | string | false | none | none |
response_schema_id | string | false | none | none |
response_topic | string | false | none | none |
service_id | string | false | none | none |
title | string | false | none | none |
mycujoo.actions.v1beta1.ActionCall
{
"configuration_id": "string",
"group_id": "string",
"id": "string",
"request_data": {
"data": {},
"id": "string"
},
"response_data": {
"data": {},
"id": "string"
},
"state": "ACTION_CALL_STATE_UNSPECIFIED"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
configuration_id | string | false | none | none |
group_id | string | false | none | none |
id | string | false | none | none |
request_data | mycujoo.actions.v1beta1.ActionCallMetadata | false | none | none |
response_data | mycujoo.actions.v1beta1.ActionCallMetadata | false | none | none |
state | mycujoo.actions.v1beta1.ActionCallState | false | none | none |
mycujoo.actions.v1beta1.ActionCallMetadata
{
"data": {},
"id": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
data | object | false | none | none |
id | string | false | none | none |
mycujoo.actions.v1beta1.ActionCallState
"ACTION_CALL_STATE_UNSPECIFIED"
- ACTION_CALL_STATE_AWAITING: Action call is awaiting, might not have all the necessary data
- ACTION_CALL_STATE_READY: Data is valid and ready to be used
- ACTION_CALL_STATE_CALLED: A message is posted on Request Topic
- ACTION_CALL_STATE_FINISHED: Valid message was received in Response Topic
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
- ACTION_CALL_STATE_AWAITING: Action call is awaiting, might not have all the necessary data |
- ACTION_CALL_STATE_READY: Data is valid and ready to be used
- ACTION_CALL_STATE_CALLED: A message is posted on Request Topic
- ACTION_CALL_STATE_FINISHED: Valid message was received in Response Topic|string|false|none|none|
Enumerated Values
Property | Value |
---|---|
- ACTION_CALL_STATE_AWAITING: Action call is awaiting, might not have all the necessary data |
- ACTION_CALL_STATE_READY: Data is valid and ready to be used
- ACTION_CALL_STATE_CALLED: A message is posted on Request Topic
- ACTION_CALL_STATE_FINISHED: Valid message was received in Response Topic|ACTION_CALL_STATE_UNSPECIFIED| |- ACTION_CALL_STATE_AWAITING: Action call is awaiting, might not have all the necessary data
- ACTION_CALL_STATE_READY: Data is valid and ready to be used
- ACTION_CALL_STATE_CALLED: A message is posted on Request Topic
- ACTION_CALL_STATE_FINISHED: Valid message was received in Response Topic|ACTION_CALL_STATE_AWAITING| |- ACTION_CALL_STATE_AWAITING: Action call is awaiting, might not have all the necessary data
- ACTION_CALL_STATE_READY: Data is valid and ready to be used
- ACTION_CALL_STATE_CALLED: A message is posted on Request Topic
- ACTION_CALL_STATE_FINISHED: Valid message was received in Response Topic|ACTION_CALL_STATE_READY| |- ACTION_CALL_STATE_AWAITING: Action call is awaiting, might not have all the necessary data
- ACTION_CALL_STATE_READY: Data is valid and ready to be used
- ACTION_CALL_STATE_CALLED: A message is posted on Request Topic
- ACTION_CALL_STATE_FINISHED: Valid message was received in Response Topic|ACTION_CALL_STATE_CALLED| |- ACTION_CALL_STATE_AWAITING: Action call is awaiting, might not have all the necessary data
- ACTION_CALL_STATE_READY: Data is valid and ready to be used
- ACTION_CALL_STATE_CALLED: A message is posted on Request Topic
- ACTION_CALL_STATE_FINISHED: Valid message was received in Response Topic|ACTION_CALL_STATE_FINISHED|
mycujoo.actions.v1beta1.ActionCategory
{
"description": "string",
"id": "string",
"menu_title": "string",
"title": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
description | string | false | none | none |
id | string | false | none | none |
menu_title | string | false | none | none |
title | string | false | none | none |
mycujoo.actions.v1beta1.ActionConfiguration
{
"action_id": "string",
"fields": [
{
"bool_value": true,
"datetime_value": "2019-08-24T14:15:22Z",
"field": "string",
"float_value": 0.1,
"number_value": "string",
"string_value": "string"
}
],
"group_id": "string",
"id": "string",
"order": 0,
"title": "string"
}
Action Configurations are the link between the action and the annotations
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
action_id | string | false | none | none |
fields | [mycujoo.actions.v1beta1.ActionConfigurationField] | false | none | none |
group_id | string | false | none | none |
id | string | false | none | none |
order | integer(int32) | false | none | none |
title | string | false | none | none |
mycujoo.actions.v1beta1.ActionConfigurationField
{
"bool_value": true,
"datetime_value": "2019-08-24T14:15:22Z",
"field": "string",
"float_value": 0.1,
"number_value": "string",
"string_value": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
bool_value | boolean | false | none | none |
datetime_value | string(date-time) | false | none | none |
field | string | false | none | none |
float_value | number(float) | false | none | none |
number_value | string(int64) | false | none | none |
string_value | string | false | none | none |
mycujoo.actions.v1beta1.ActionField
{
"bool_value": true,
"datetime_value": "2019-08-24T14:15:22Z",
"float_value": 0.1,
"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.1,
"label": "string",
"number_value": "string",
"string_value": "string"
}
],
"value_type": "VALUE_TYPE_UNSPECIFIED"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
bool_value | boolean | false | none | none |
datetime_value | string(date-time) | false | none | none |
float_value | number(float) | false | none | none |
is_configurable | boolean | false | none | none |
is_required | boolean | false | none | none |
label | string | false | none | none |
name | string | false | none | none |
no_default_value | boolean | false | none | none |
number_value | string(int64) | false | none | none |
string_value | string | false | none | none |
validators | [mycujoo.actions.v1beta1.ActionField.Validator] | false | none | none |
value_options | [mycujoo.actions.v1beta1.OptionValue] | false | none | none |
value_type | mycujoo.actions.v1beta1.ActionField.ValueType | false | none | none |
mycujoo.actions.v1beta1.ActionField.Validator
{
"max": 0,
"min": 0,
"regex": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
max | integer(int32) | false | none | none |
min | integer(int32) | false | none | none |
regex | string | false | none | none |
mycujoo.actions.v1beta1.ActionField.ValueType
"VALUE_TYPE_UNSPECIFIED"
Accepted value types for the action value
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Accepted value types for the action value | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
Accepted value types for the action value | VALUE_TYPE_UNSPECIFIED |
Accepted value types for the action value | VALUE_TYPE_STRING |
Accepted value types for the action value | VALUE_TYPE_INT |
Accepted value types for the action value | VALUE_TYPE_LONG |
Accepted value types for the action value | VALUE_TYPE_FLOAT |
Accepted value types for the action value | VALUE_TYPE_DATETIME |
Accepted value types for the action value | VALUE_TYPE_BOOL |
mycujoo.actions.v1beta1.CreateActionConfigurationRequest
{
"action_id": "string",
"fields": [
{
"bool_value": true,
"datetime_value": "2019-08-24T14:15:22Z",
"field": "string",
"float_value": 0.1,
"number_value": "string",
"string_value": "string"
}
],
"group_id": "string",
"title": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
action_id | string | false | none | none |
fields | [mycujoo.actions.v1beta1.ActionConfigurationField] | false | none | none |
group_id | string | false | none | none |
title | string | false | none | none |
mycujoo.actions.v1beta1.CreateActionConfigurationResponse
{
"action_configuration": {
"action_id": "string",
"fields": [
{
"bool_value": true,
"datetime_value": "2019-08-24T14:15:22Z",
"field": "string",
"float_value": 0.1,
"number_value": "string",
"string_value": "string"
}
],
"group_id": "string",
"id": "string",
"order": 0,
"title": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
action_configuration | mycujoo.actions.v1beta1.ActionConfiguration | false | none | none |
mycujoo.actions.v1beta1.DeleteActionConfigurationResponse
{}
Properties
None
mycujoo.actions.v1beta1.GetActionCallResponse
{
"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"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
action_call | mycujoo.actions.v1beta1.ActionCall | false | none | none |
mycujoo.actions.v1beta1.GetActionConfigurationResponse
{
"action_configuration": {
"action_id": "string",
"fields": [
{
"bool_value": true,
"datetime_value": "2019-08-24T14:15:22Z",
"field": "string",
"float_value": 0.1,
"number_value": "string",
"string_value": "string"
}
],
"group_id": "string",
"id": "string",
"order": 0,
"title": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
action_configuration | mycujoo.actions.v1beta1.ActionConfiguration | false | none | none |
mycujoo.actions.v1beta1.GetActionResponse
{
"action": {
"action_fields": [
{
"bool_value": true,
"datetime_value": "2019-08-24T14:15:22Z",
"float_value": 0.1,
"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.1,
"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"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
action | mycujoo.actions.v1beta1.Action | false | none | none |
mycujoo.actions.v1beta1.ListAction
{
"category_id": "string",
"description": "string",
"icon_url": "string",
"id": "string",
"is_active": true,
"service_id": "string",
"title": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
category_id | string | false | none | none |
description | string | false | none | none |
icon_url | string | false | none | none |
id | string | false | none | none |
is_active | boolean | false | none | none |
service_id | string | false | none | none |
title | string | false | none | none |
mycujoo.actions.v1beta1.ListActionCallsResponse
{
"items": [
{
"configuration_id": "string",
"group_id": "string",
"id": "string",
"request_data": {
"data": {},
"id": "string"
},
"response_data": {
"data": {},
"id": "string"
},
"state": "ACTION_CALL_STATE_UNSPECIFIED"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
items | [mycujoo.actions.v1beta1.ActionCall] | false | none | none |
mycujoo.actions.v1beta1.ListActionCategoriesResponse
{
"items": [
{
"description": "string",
"id": "string",
"menu_title": "string",
"title": "string"
}
],
"next_page_token": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
items | [mycujoo.actions.v1beta1.ActionCategory] | false | none | none |
next_page_token | string | false | none | none |
mycujoo.actions.v1beta1.ListActionConfiguration
{
"action_id": "string",
"action_title": "string",
"group_id": "string",
"id": "string",
"order": 0,
"title": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
action_id | string | false | none | none |
action_title | string | false | none | none |
group_id | string | false | none | none |
id | string | false | none | none |
order | integer(int32) | false | none | none |
title | string | false | none | none |
mycujoo.actions.v1beta1.ListActionConfigurationsResponse
{
"items": [
{
"action_id": "string",
"action_title": "string",
"group_id": "string",
"id": "string",
"order": 0,
"title": "string"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
items | [mycujoo.actions.v1beta1.ListActionConfiguration] | false | none | none |
mycujoo.actions.v1beta1.ListActionsResponse
{
"items": [
{
"category_id": "string",
"description": "string",
"icon_url": "string",
"id": "string",
"is_active": true,
"service_id": "string",
"title": "string"
}
],
"next_page_token": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
items | [mycujoo.actions.v1beta1.ListAction] | false | none | none |
next_page_token | string | false | none | none |
mycujoo.actions.v1beta1.OptionValue
{
"bool_value": true,
"datetime_value": "2019-08-24T14:15:22Z",
"float_value": 0.1,
"label": "string",
"number_value": "string",
"string_value": "string"
}
Option used for static value from a list
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
bool_value | boolean | false | none | none |
datetime_value | string(date-time) | false | none | none |
float_value | number(float) | false | none | none |
label | string | false | none | none |
number_value | string(int64) | false | none | none |
string_value | string | false | none | none |
mycujoo.actions.v1beta1.UpdateActionCallRequestFields
{
"data": {}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
data | object | false | none | none |
mycujoo.actions.v1beta1.UpdateActionCallResponse
{
"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"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
action_call | mycujoo.actions.v1beta1.ActionCall | false | none | none |
mycujoo.actions.v1beta1.UpdateActionConfigurationRequestFields
{
"fields": [
{
"bool_value": true,
"datetime_value": "2019-08-24T14:15:22Z",
"field": "string",
"float_value": 0.1,
"number_value": "string",
"string_value": "string"
}
],
"order": 0,
"title": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
fields | [mycujoo.actions.v1beta1.ActionConfigurationField] | false | none | none |
order | integer(int32) | false | none | none |
title | string | false | none | none |
mycujoo.actions.v1beta1.UpdateActionConfigurationResponse
{
"action_configuration": {
"action_id": "string",
"fields": [
{
"bool_value": true,
"datetime_value": "2019-08-24T14:15:22Z",
"field": "string",
"float_value": 0.1,
"number_value": "string",
"string_value": "string"
}
],
"group_id": "string",
"id": "string",
"order": 0,
"title": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
action_configuration | mycujoo.actions.v1beta1.ActionConfiguration | false | none | none |
mycujoo.actions.v1beta1.UpdateActionRequestFields
{
"action_fields": [
{
"bool_value": true,
"datetime_value": "2019-08-24T14:15:22Z",
"float_value": 0.1,
"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.1,
"label": "string",
"number_value": "string",
"string_value": "string"
}
],
"value_type": "VALUE_TYPE_UNSPECIFIED"
}
],
"category_id": "string",
"description": "string",
"icon_url": "string",
"is_active": true,
"request_schema_id": "string",
"request_topic": "string",
"response_schema_id": "string",
"response_topic": "string",
"service_id": "string",
"title": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
action_fields | [mycujoo.actions.v1beta1.ActionField] | false | none | none |
category_id | string | false | none | none |
description | string | false | none | none |
icon_url | string | false | none | none |
is_active | boolean | false | none | none |
request_schema_id | string | false | none | none |
request_topic | string | false | none | none |
response_schema_id | string | false | none | none |
response_topic | string | false | none | none |
service_id | string | false | none | none |
title | string | false | none | none |
mycujoo.analytics.v1.AveragePlaytimePoint
{
"average_playtime": 0.1,
"time": "2019-08-24T14:15:22Z"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
average_playtime | number(float) | false | none | none |
time | string(date-time) | false | none | none |
mycujoo.analytics.v1.BufferRatioPoint
{
"ratio": 0.1,
"time": "2019-08-24T14:15:22Z"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ratio | number(float) | false | none | none |
time | string(date-time) | false | none | none |
mycujoo.analytics.v1.BufferRatioTimeSeries
{
"content_type": "CONTENT_TYPE_UNSPECIFIED",
"points": [
{
"ratio": 0.1,
"time": "2019-08-24T14:15:22Z"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
content_type | mycujoo.analytics.v1.ContentType | false | none | none |
points | [mycujoo.analytics.v1.BufferRatioPoint] | false | none | none |
mycujoo.analytics.v1.ConcurrentPlaysPoint
{
"plays": 0,
"time": "2019-08-24T14:15:22Z"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
plays | integer(int32) | false | none | none |
time | string(date-time) | false | none | none |
mycujoo.analytics.v1.ContentType
"CONTENT_TYPE_UNSPECIFIED"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | CONTENT_TYPE_UNSPECIFIED |
anonymous | CONTENT_TYPE_VOD |
anonymous | CONTENT_TYPE_LIVE |
mycujoo.analytics.v1.GetBufferRatioTimeSeriesResponse
{
"time_series": [
{
"content_type": "CONTENT_TYPE_UNSPECIFIED",
"points": [
{
"ratio": 0.1,
"time": "2019-08-24T14:15:22Z"
}
]
}
],
"time_step": "TIME_STEP_UNSPECIFIED"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
time_series | [mycujoo.analytics.v1.BufferRatioTimeSeries] | false | none | none |
time_step | mycujoo.analytics.v1.TimeStep | false | none | none |
mycujoo.analytics.v1.GetConcurrentPlaysTimeSeriesResponse
{
"concurrent_plays": [
{
"plays": 0,
"time": "2019-08-24T14:15:22Z"
}
],
"time_step": "TIME_STEP_UNSPECIFIED"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
concurrent_plays | [mycujoo.analytics.v1.ConcurrentPlaysPoint] | false | none | none |
time_step | mycujoo.analytics.v1.TimeStep | false | none | none |
mycujoo.analytics.v1.GetMediaSourceStatsSnapshotBatchResponse
{
"snapshots": [
{
"media_source_id": "string",
"snapshot": {
"audio_bit_rate": 0,
"bit_rate": 0,
"connection_count": 0,
"frame_rate": 0.1,
"key_frame_consistent": true,
"key_frame_interval": 0.1,
"time": "2019-08-24T14:15:22Z",
"video_height": 0
}
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
snapshots | [mycujoo.analytics.v1.MediaSourceStatsSnapshot] | false | none | none |
mycujoo.analytics.v1.GetMediaSourceStatsSnapshotResponse
{
"snapshot": {
"audio_bit_rate": 0,
"bit_rate": 0,
"connection_count": 0,
"frame_rate": 0.1,
"key_frame_consistent": true,
"key_frame_interval": 0.1,
"time": "2019-08-24T14:15:22Z",
"video_height": 0
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
snapshot | mycujoo.analytics.v1.MediaSourceStatsPoint | false | none | none |
mycujoo.analytics.v1.GetMediaSourceStatsTimeSeriesResponse
{
"time_series": [
{
"audio_bit_rate": 0,
"bit_rate": 0,
"connection_count": 0,
"frame_rate": 0.1,
"key_frame_consistent": true,
"key_frame_interval": 0.1,
"time": "2019-08-24T14:15:22Z",
"video_height": 0
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
time_series | [mycujoo.analytics.v1.MediaSourceStatsPoint] | false | none | none |
mycujoo.analytics.v1.GetProjectAveragePlaytimeTimeSeriesResponse
{
"average_playtime_points": [
{
"average_playtime": 0.1,
"time": "2019-08-24T14:15:22Z"
}
],
"time_step": "TIME_STEP_UNSPECIFIED"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
average_playtime_points | [mycujoo.analytics.v1.AveragePlaytimePoint] | false | none | none |
time_step | mycujoo.analytics.v1.TimeStep | false | none | none |
mycujoo.analytics.v1.GetProjectConsumptionStatsResponse
{
"average_watch_time": {
"content_type_watch_time": [
{
"content_type": "CONTENT_TYPE_UNSPECIFIED",
"minutes": 0.1
}
],
"total_minutes": 0.1
},
"project_id": "string",
"unique_users": {
"content_type_users": [
{
"content_type": "CONTENT_TYPE_UNSPECIFIED",
"users_count": 0
}
],
"total_users": 0
},
"watch_time": {
"content_type_watch_time": [
{
"content_type": "CONTENT_TYPE_UNSPECIFIED",
"minutes": 0.1
}
],
"total_minutes": 0.1
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
average_watch_time | mycujoo.analytics.v1.WatchTime | false | none | none |
project_id | string | false | none | none |
unique_users | mycujoo.analytics.v1.UniqueUsers | false | none | none |
watch_time | mycujoo.analytics.v1.WatchTime | false | none | none |
mycujoo.analytics.v1.GetProjectTotalPlaysTimeSeriesResponse
{
"time_step": "TIME_STEP_UNSPECIFIED",
"total_plays_points": [
{
"plays": 0,
"time": "2019-08-24T14:15:22Z"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
time_step | mycujoo.analytics.v1.TimeStep | false | none | none |
total_plays_points | [mycujoo.analytics.v1.TotalPlaysPoint] | false | none | none |
mycujoo.analytics.v1.GetProjectTotalPlaytimeTimeSeriesResponse
{
"time_step": "TIME_STEP_UNSPECIFIED",
"total_playtime_points": [
{
"time": "2019-08-24T14:15:22Z",
"total_playtime": 0.1
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
time_step | mycujoo.analytics.v1.TimeStep | false | none | none |
total_playtime_points | [mycujoo.analytics.v1.TotalPlaytimePoint] | false | none | none |
mycujoo.analytics.v1.GetProjectUniqueUsersTimeSeriesResponse
{
"time_step": "TIME_STEP_UNSPECIFIED",
"unique_users_points": [
{
"time": "2019-08-24T14:15:22Z",
"unique_users": 0
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
time_step | mycujoo.analytics.v1.TimeStep | false | none | none |
unique_users_points | [mycujoo.analytics.v1.UniqueUsersPoint] | false | none | none |
mycujoo.analytics.v1.GetStreamConsumptionStatsResponse
{
"average_watch_time": {
"content_type_watch_time": [
{
"content_type": "CONTENT_TYPE_UNSPECIFIED",
"minutes": 0.1
}
],
"total_minutes": 0.1
},
"stream_id": "string",
"unique_users": {
"content_type_users": [
{
"content_type": "CONTENT_TYPE_UNSPECIFIED",
"users_count": 0
}
],
"total_users": 0
},
"watch_time": {
"content_type_watch_time": [
{
"content_type": "CONTENT_TYPE_UNSPECIFIED",
"minutes": 0.1
}
],
"total_minutes": 0.1
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
average_watch_time | mycujoo.analytics.v1.WatchTime | false | none | none |
stream_id | string | false | none | none |
unique_users | mycujoo.analytics.v1.UniqueUsers | false | none | none |
watch_time | mycujoo.analytics.v1.WatchTime | false | none | none |
mycujoo.analytics.v1.GetStreamStatsResponse
{
"buffer_ratio_time_series": [
{
"content_type": "CONTENT_TYPE_UNSPECIFIED",
"points": [
{
"ratio": 0.1,
"time": "2019-08-24T14:15:22Z"
}
]
}
],
"concurrent_plays_time_series": [
{
"plays": 0,
"time": "2019-08-24T14:15:22Z"
}
],
"total_users_time_series": [
{
"content_type": "CONTENT_TYPE_UNSPECIFIED",
"users_count": 0
}
],
"video_stats_time_series": [
{
"audio_bit_rate": 0,
"bit_rate": 0,
"connection_count": 0,
"frame_rate": 0.1,
"key_frame_consistent": true,
"key_frame_interval": 0.1,
"resolution": 0,
"time": "2019-08-24T14:15:22Z"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
buffer_ratio_time_series | [mycujoo.analytics.v1.BufferRatioTimeSeries] | false | none | none |
concurrent_plays_time_series | [mycujoo.analytics.v1.ConcurrentPlaysPoint] | false | none | none |
total_users_time_series | [mycujoo.analytics.v1.TotalUsersRecord] | false | none | none |
video_stats_time_series | [mycujoo.analytics.v1.VideoStatsPoint] | false | none | none |
mycujoo.analytics.v1.GetTotalUsersResponse
{
"stream_id": "string",
"total_users": [
{
"content_type": "CONTENT_TYPE_UNSPECIFIED",
"users_count": 0
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
stream_id | string | false | none | none |
total_users | [mycujoo.analytics.v1.TotalUsersRecord] | false | none | none |
mycujoo.analytics.v1.GetVideoStatsSnapshotBatchResponse
{
"snapshots": [
{
"snapshot": {
"audio_bit_rate": 0,
"bit_rate": 0,
"connection_count": 0,
"frame_rate": 0.1,
"key_frame_consistent": true,
"key_frame_interval": 0.1,
"resolution": 0,
"time": "2019-08-24T14:15:22Z"
},
"stream_id": "string"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
snapshots | [mycujoo.analytics.v1.VideoStatsSnapshot] | false | none | none |
mycujoo.analytics.v1.GetVideoStatsSnapshotResponse
{
"snapshot": {
"audio_bit_rate": 0,
"bit_rate": 0,
"connection_count": 0,
"frame_rate": 0.1,
"key_frame_consistent": true,
"key_frame_interval": 0.1,
"resolution": 0,
"time": "2019-08-24T14:15:22Z"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
snapshot | mycujoo.analytics.v1.VideoStatsPoint | false | none | none |
mycujoo.analytics.v1.GetVideoStatsTimeSeriesResponse
{
"time_series": [
{
"audio_bit_rate": 0,
"bit_rate": 0,
"connection_count": 0,
"frame_rate": 0.1,
"key_frame_consistent": true,
"key_frame_interval": 0.1,
"resolution": 0,
"time": "2019-08-24T14:15:22Z"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
time_series | [mycujoo.analytics.v1.VideoStatsPoint] | false | none | none |
mycujoo.analytics.v1.ListStreamActivityLogsResponse
{
"activities": [
{
"create_time": "2019-08-24T14:15:22Z",
"description": "string",
"id": "string",
"name": "string",
"source": "string"
}
],
"next_page_token": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
activities | [mycujoo.analytics.v1.StreamActivityLog] | false | none | none |
next_page_token | string | false | none | A token that can be sent as page_token to retrieve the next page.If this field is omitted, there are no subsequent pages. |
mycujoo.analytics.v1.ListStreamStatSummariesResponse
{
"next_page_token": "string",
"streams": [
{
"average_live_buffer_ratio": 0.1,
"average_play_time": 0.1,
"average_vod_buffer_ratio": 0.1,
"stream_id": "string",
"title": "string",
"total_plays": 0,
"total_playtime": 0.1,
"total_users": 0
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
next_page_token | string | false | none | A token that can be sent as page_token to retrieve the next page.If this field is omitted, there are no subsequent pages. |
streams | [mycujoo.analytics.v1.StreamStatSummary] | false | none | none |
mycujoo.analytics.v1.ListWatchEventsResponse
{
"next_page_token": "string",
"watch_events": [
{
"cdn": "string",
"city": "string",
"connection_type": "string",
"country_code": "string",
"device_name": "string",
"effective_time": "string",
"event_time": "2019-08-24T14:15:22Z",
"event_type": "string",
"happiness_score": 0.1,
"has_error": true,
"identity_id": "string",
"ip": "string",
"isp": "string",
"session_id": "string",
"stream_id": "string",
"title": "string",
"type_view": "CONTENT_TYPE_UNSPECIFIED",
"watch_duration": "string"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
next_page_token | string | false | none | A token that can be sent as page_token to retrieve the next page.If this field is omitted, there are no subsequent pages. |
watch_events | [mycujoo.analytics.v1.WatchEvent] | false | none | none |
mycujoo.analytics.v1.MediaSourceStatsPoint
{
"audio_bit_rate": 0,
"bit_rate": 0,
"connection_count": 0,
"frame_rate": 0.1,
"key_frame_consistent": true,
"key_frame_interval": 0.1,
"time": "2019-08-24T14:15:22Z",
"video_height": 0
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
audio_bit_rate | integer(int32) | false | none | none |
bit_rate | integer(int32) | false | none | none |
connection_count | integer(int32) | false | none | none |
frame_rate | number(double) | false | none | none |
key_frame_consistent | boolean | false | none | none |
key_frame_interval | number(double) | false | none | none |
time | string(date-time) | false | none | none |
video_height | integer(int32) | false | none | none |
mycujoo.analytics.v1.MediaSourceStatsSnapshot
{
"media_source_id": "string",
"snapshot": {
"audio_bit_rate": 0,
"bit_rate": 0,
"connection_count": 0,
"frame_rate": 0.1,
"key_frame_consistent": true,
"key_frame_interval": 0.1,
"time": "2019-08-24T14:15:22Z",
"video_height": 0
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
media_source_id | string | false | none | none |
snapshot | mycujoo.analytics.v1.MediaSourceStatsPoint | false | none | none |
mycujoo.analytics.v1.StreamActivityLog
{
"create_time": "2019-08-24T14:15:22Z",
"description": "string",
"id": "string",
"name": "string",
"source": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
create_time | string(date-time) | false | none | none |
description | string | false | none | none |
id | string | false | none | none |
name | string | false | none | none |
source | string | false | none | none |
mycujoo.analytics.v1.StreamStatSummary
{
"average_live_buffer_ratio": 0.1,
"average_play_time": 0.1,
"average_vod_buffer_ratio": 0.1,
"stream_id": "string",
"title": "string",
"total_plays": 0,
"total_playtime": 0.1,
"total_users": 0
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
average_live_buffer_ratio | number(float) | false | none | none |
average_play_time | number(float) | false | none | none |
average_vod_buffer_ratio | number(float) | false | none | none |
stream_id | string | false | none | none |
title | string | false | none | none |
total_plays | integer(int32) | false | none | none |
total_playtime | number(float) | false | none | none |
total_users | integer(int32) | false | none | none |
mycujoo.analytics.v1.TimeStep
"TIME_STEP_UNSPECIFIED"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | TIME_STEP_UNSPECIFIED |
anonymous | TIME_STEP_MINUTE |
anonymous | TIME_STEP_HOUR |
anonymous | TIME_STEP_DAY |
anonymous | TIME_STEP_MONTH |
anonymous | TIME_STEP_YEAR |
mycujoo.analytics.v1.TotalPlaysPoint
{
"plays": 0,
"time": "2019-08-24T14:15:22Z"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
plays | integer(int32) | false | none | none |
time | string(date-time) | false | none | none |
mycujoo.analytics.v1.TotalPlaytimePoint
{
"time": "2019-08-24T14:15:22Z",
"total_playtime": 0.1
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
time | string(date-time) | false | none | none |
total_playtime | number(float) | false | none | Sum of all play times at given point in minutes. |
mycujoo.analytics.v1.TotalUsersRecord
{
"content_type": "CONTENT_TYPE_UNSPECIFIED",
"users_count": 0
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
content_type | mycujoo.analytics.v1.ContentType | false | none | none |
users_count | integer(int32) | false | none | none |
mycujoo.analytics.v1.UniqueUsers
{
"content_type_users": [
{
"content_type": "CONTENT_TYPE_UNSPECIFIED",
"users_count": 0
}
],
"total_users": 0
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
content_type_users | [mycujoo.analytics.v1.TotalUsersRecord] | false | none | none |
total_users | integer(int32) | false | none | none |
mycujoo.analytics.v1.UniqueUsersPoint
{
"time": "2019-08-24T14:15:22Z",
"unique_users": 0
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
time | string(date-time) | false | none | none |
unique_users | integer(int32) | false | none | none |
mycujoo.analytics.v1.VideoStatsPoint
{
"audio_bit_rate": 0,
"bit_rate": 0,
"connection_count": 0,
"frame_rate": 0.1,
"key_frame_consistent": true,
"key_frame_interval": 0.1,
"resolution": 0,
"time": "2019-08-24T14:15:22Z"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
audio_bit_rate | integer(int32) | false | none | none |
bit_rate | integer(int32) | false | none | none |
connection_count | integer(int32) | false | none | none |
frame_rate | number(double) | false | none | none |
key_frame_consistent | boolean | false | none | none |
key_frame_interval | number(double) | false | none | none |
resolution | integer(int32) | false | none | none |
time | string(date-time) | false | none | none |
mycujoo.analytics.v1.VideoStatsSnapshot
{
"snapshot": {
"audio_bit_rate": 0,
"bit_rate": 0,
"connection_count": 0,
"frame_rate": 0.1,
"key_frame_consistent": true,
"key_frame_interval": 0.1,
"resolution": 0,
"time": "2019-08-24T14:15:22Z"
},
"stream_id": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
snapshot | mycujoo.analytics.v1.VideoStatsPoint | false | none | none |
stream_id | string | false | none | none |
mycujoo.analytics.v1.WatchEvent
{
"cdn": "string",
"city": "string",
"connection_type": "string",
"country_code": "string",
"device_name": "string",
"effective_time": "string",
"event_time": "2019-08-24T14:15:22Z",
"event_type": "string",
"happiness_score": 0.1,
"has_error": true,
"identity_id": "string",
"ip": "string",
"isp": "string",
"session_id": "string",
"stream_id": "string",
"title": "string",
"type_view": "CONTENT_TYPE_UNSPECIFIED",
"watch_duration": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
cdn | string | false | none | none |
city | string | false | none | none |
connection_type | string | false | none | none |
country_code | string | false | none | none |
device_name | string | false | none | none |
effective_time | string | false | none | none |
event_time | string(date-time) | false | none | none |
event_type | string | false | none | none |
happiness_score | number(float) | false | none | none |
has_error | boolean | false | none | Used to find if the event had any kind of error. |
identity_id | string | false | none | Identity behind watch event. If playback is anonymous - then it is a random identifier that rarely changes. |
ip | string | false | none | none |
isp | string | false | none | none |
session_id | string | false | none | none |
stream_id | string | false | none | none |
title | string | false | none | none |
type_view | mycujoo.analytics.v1.ContentType | false | none | none |
watch_duration | string | false | none | none |
mycujoo.analytics.v1.WatchTime
{
"content_type_watch_time": [
{
"content_type": "CONTENT_TYPE_UNSPECIFIED",
"minutes": 0.1
}
],
"total_minutes": 0.1
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
content_type_watch_time | [mycujoo.analytics.v1.WatchTimeRecord] | false | none | none |
total_minutes | number(float) | false | none | none |
mycujoo.analytics.v1.WatchTimeRecord
{
"content_type": "CONTENT_TYPE_UNSPECIFIED",
"minutes": 0.1
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
content_type | mycujoo.analytics.v1.ContentType | false | none | none |
minutes | number(float) | false | none | none |
mycujoo.analytics.v1beta1.Content
{
"media_resource": "string",
"origin": "string",
"stream_id": "string",
"streaming_protocol": "string",
"title": "string",
"type_view": "CONTENT_TYPE_UNSPECIFIED"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
media_resource | string | false | none | none |
origin | string | false | none | none |
stream_id | string | false | none | none |
streaming_protocol | string | false | none | none |
title | string | false | none | none |
type_view | mycujoo.analytics.v1beta1.ContentType | false | none | none |
mycujoo.analytics.v1beta1.ContentType
"CONTENT_TYPE_UNSPECIFIED"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | CONTENT_TYPE_UNSPECIFIED |
anonymous | CONTENT_TYPE_VOD |
anonymous | CONTENT_TYPE_LIVE |
mycujoo.analytics.v1beta1.Device
{
"browser_name": "string",
"browser_version": "string",
"model": "string",
"os": "string",
"os_version": "string",
"player": "string",
"plugin_version": "string",
"type": "string",
"vendor": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
browser_name | string | false | none | none |
browser_version | string | false | none | none |
model | string | false | none | none |
os | string | false | none | none |
os_version | string | false | none | none |
player | string | false | none | none |
plugin_version | string | false | none | none |
type | string | false | none | none |
vendor | string | false | none | none |
mycujoo.analytics.v1beta1.Event
{
"buffer_duration": "string",
"event_time": "2019-08-24T14:15:22Z",
"event_type": "string",
"offset": "string",
"play_head": "string",
"rendition": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
buffer_duration | string | false | none | none |
event_time | string(date-time) | false | none | none |
event_type | string | false | none | none |
offset | string | false | none | none |
play_head | string | false | none | none |
rendition | string | false | none | none |
mycujoo.analytics.v1beta1.Geolocation
{
"city": "string",
"country_code": "string",
"region": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
city | string | false | none | none |
country_code | string | false | none | none |
region | string | false | none | none |
mycujoo.analytics.v1beta1.GetSessionResponse
{
"content": {
"media_resource": "string",
"origin": "string",
"stream_id": "string",
"streaming_protocol": "string",
"title": "string",
"type_view": "CONTENT_TYPE_UNSPECIFIED"
},
"device": {
"browser_name": "string",
"browser_version": "string",
"model": "string",
"os": "string",
"os_version": "string",
"player": "string",
"plugin_version": "string",
"type": "string",
"vendor": "string"
},
"effective_watch_duration": "string",
"events": [
{
"buffer_duration": "string",
"event_time": "2019-08-24T14:15:22Z",
"event_type": "string",
"offset": "string",
"play_head": "string",
"rendition": "string"
}
],
"geolocation": {
"city": "string",
"country_code": "string",
"region": "string"
},
"identity": {
"happiness_score": 0.1,
"identity_id": "string",
"is_registered": true
},
"network": {
"cdn": "string",
"connection_type": "string",
"isp": "string"
},
"quality": {
"buffer_ratio": 0.1,
"buffers_count": 0,
"error_description": "string",
"error_metadata": "string",
"error_player_code": "string",
"error_type": "string",
"join_time": "string"
},
"session_end": "2019-08-24T14:15:22Z",
"session_id": "string",
"session_start": "2019-08-24T14:15:22Z",
"watch_duration": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
content | mycujoo.analytics.v1beta1.Content | false | none | none |
device | mycujoo.analytics.v1beta1.Device | false | none | none |
effective_watch_duration | string | false | none | This watch time is computed without taking into account the join time, buffer time, ads time, seek time and pause time. So shows the actual time that the users have been engaged with a given video. |
events | [mycujoo.analytics.v1beta1.Event] | false | none | none |
geolocation | mycujoo.analytics.v1beta1.Geolocation | false | none | none |
identity | mycujoo.analytics.v1beta1.Identity | false | none | none |
network | mycujoo.analytics.v1beta1.Network | false | none | none |
quality | mycujoo.analytics.v1beta1.Quality | false | none | none |
session_end | string(date-time) | false | none | none |
session_id | string | false | none | none |
session_start | string(date-time) | false | none | none |
watch_duration | string | false | none | none |
mycujoo.analytics.v1beta1.Identity
{
"happiness_score": 0.1,
"identity_id": "string",
"is_registered": true
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
happiness_score | number(float) | false | none | none |
identity_id | string | false | none | Identity behind watch event. If playback is anonymous - then it is a random identifier that rarely changes. |
is_registered | boolean | false | none | none |
mycujoo.analytics.v1beta1.Network
{
"cdn": "string",
"connection_type": "string",
"isp": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
cdn | string | false | none | none |
connection_type | string | false | none | none |
isp | string | false | none | none |
mycujoo.analytics.v1beta1.Quality
{
"buffer_ratio": 0.1,
"buffers_count": 0,
"error_description": "string",
"error_metadata": "string",
"error_player_code": "string",
"error_type": "string",
"join_time": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
buffer_ratio | number(float) | false | none | Reports the ratio of length of time users have experienced buffering during a video session. |
buffers_count | integer(int32) | false | none | none |
error_description | string | false | none | none |
error_metadata | string | false | none | none |
error_player_code | string | false | none | none |
error_type | string | false | none | none |
join_time | string | false | none | Reports time it takes the player to establish a connection with the stream and play the first frame after the play button is hit or the player initiates a play sequence on auto-play mode. |
mycujoo.annotations.v1beta1.Annotation
{
"action_call_ids": [
"string"
],
"create_time": "2019-08-24T14:15:22Z",
"id": "string",
"offset": "string",
"timeline_id": "string",
"type_id": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
action_call_ids | [string] | false | none | none |
create_time | string(date-time) | false | none | none |
id | string | false | none | none |
offset | string(int64) | false | none | none |
timeline_id | string | false | none | none |
type_id | string | false | none | none |
mycujoo.annotations.v1beta1.AnnotationSet
{
"id": "string",
"title": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | none |
title | string | false | none | none |
mycujoo.annotations.v1beta1.AnnotationType
{
"action_configuration_ids": [
"string"
],
"id": "string",
"set_id": "string",
"title": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
action_configuration_ids | [string] | false | none | none |
id | string | false | none | none |
set_id | string | false | none | none |
title | string | false | none | none |
mycujoo.annotations.v1beta1.CreateAnnotationRequest
{
"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"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
live | mycujoo.annotations.v1beta1.CreateAnnotationRequest.Live | false | none | none |
live_vod | mycujoo.annotations.v1beta1.CreateAnnotationRequest.LiveVOD | false | none | none |
timeline_id | string | false | none | none |
type_id | string | false | none | none |
uploaded | mycujoo.annotations.v1beta1.CreateAnnotationRequest.Uploaded | false | none | none |
mycujoo.annotations.v1beta1.CreateAnnotationRequest.Live
{
"time": "2019-08-24T14:15:22Z"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
time | string(date-time) | false | none | none |
mycujoo.annotations.v1beta1.CreateAnnotationRequest.LiveVOD
{
"offset": "string",
"time": "2019-08-24T14:15:22Z"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
offset | string(int64) | false | none | none |
time | string(date-time) | false | none | none |
mycujoo.annotations.v1beta1.CreateAnnotationRequest.Uploaded
{
"offset": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
offset | string(int64) | false | none | none |
mycujoo.annotations.v1beta1.CreateAnnotationResponse
{
"annotation": {
"action_call_ids": [
"string"
],
"create_time": "2019-08-24T14:15:22Z",
"id": "string",
"offset": "string",
"timeline_id": "string",
"type_id": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
annotation | mycujoo.annotations.v1beta1.Annotation | false | none | none |
mycujoo.annotations.v1beta1.CreateAnnotationSetRequest
{
"title": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
title | string | false | none | none |
mycujoo.annotations.v1beta1.CreateAnnotationSetResponse
{
"set": {
"id": "string",
"title": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
set | mycujoo.annotations.v1beta1.AnnotationSet | false | none | none |
mycujoo.annotations.v1beta1.CreateAnnotationTypeRequest
{
"set_id": "string",
"title": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
set_id | string | false | none | none |
title | string | false | none | none |
mycujoo.annotations.v1beta1.CreateAnnotationTypeResponse
{
"type": {
"action_configuration_ids": [
"string"
],
"id": "string",
"set_id": "string",
"title": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
type | mycujoo.annotations.v1beta1.AnnotationType | false | none | none |
mycujoo.annotations.v1beta1.DeleteAnnotationResponse
{}
Properties
None
mycujoo.annotations.v1beta1.DeleteAnnotationSetResponse
{}
Properties
None
mycujoo.annotations.v1beta1.DeleteAnnotationTypeResponse
{}
Properties
None
mycujoo.annotations.v1beta1.GetAnnotationResponse
{
"annotation": {
"action_call_ids": [
"string"
],
"create_time": "2019-08-24T14:15:22Z",
"id": "string",
"offset": "string",
"timeline_id": "string",
"type_id": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
annotation | mycujoo.annotations.v1beta1.Annotation | false | none | none |
mycujoo.annotations.v1beta1.GetAnnotationSetIamPolicyResponse
{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
},
"resource_hierarchy": [
{
"id": "elevendata",
"type": "project"
}
],
"resource_title": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
etag | string(byte) | false | none | none |
policy | mycujoo.auth.v1.Policy | false | none | Authorization policy. |
resource_hierarchy | [mycujoo.auth.v1.Resource] | false | none | [Resource object reference that is used to represent objects in the IAM system.] |
resource_title | string | false | none | none |
mycujoo.annotations.v1beta1.GetAnnotationSetResponse
{
"set": {
"id": "string",
"title": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
set | mycujoo.annotations.v1beta1.AnnotationSet | false | none | none |
mycujoo.annotations.v1beta1.GetAnnotationTypeResponse
{
"type": {
"action_configuration_ids": [
"string"
],
"id": "string",
"set_id": "string",
"title": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
type | mycujoo.annotations.v1beta1.AnnotationType | false | none | none |
mycujoo.annotations.v1beta1.ListAnnotationSetsRequest.Include
"INCLUDE_UNSPECIFIED"
- INCLUDE_TOTAL_SIZE: When included, response will contain metadata about total number of available results irrespective of pagination
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
- INCLUDE_TOTAL_SIZE: When included, response will contain metadata about total number of available results irrespective of pagination | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
- INCLUDE_TOTAL_SIZE: When included, response will contain metadata about total number of available results irrespective of pagination | INCLUDE_UNSPECIFIED |
- INCLUDE_TOTAL_SIZE: When included, response will contain metadata about total number of available results irrespective of pagination | INCLUDE_TOTAL_SIZE |
mycujoo.annotations.v1beta1.ListAnnotationSetsRequest.Order
"ORDER_TITLE_UNSPECIFIED"
- ORDER_TITLE_ASC: Results sorted by title ascending
- ORDER_TITLE_DESC: Results sorted by title descending
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
- ORDER_TITLE_ASC: Results sorted by title ascending | ||||
- ORDER_TITLE_DESC: Results sorted by title descending | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
- ORDER_TITLE_ASC: Results sorted by title ascending | |
- ORDER_TITLE_DESC: Results sorted by title descending | ORDER_TITLE_UNSPECIFIED |
- ORDER_TITLE_ASC: Results sorted by title ascending | |
- ORDER_TITLE_DESC: Results sorted by title descending | ORDER_TITLE_ASC |
- ORDER_TITLE_ASC: Results sorted by title ascending | |
- ORDER_TITLE_DESC: Results sorted by title descending | ORDER_TITLE_DESC |
mycujoo.annotations.v1beta1.ListAnnotationSetsResponse
{
"next_page_token": "string",
"sets": [
{
"id": "string",
"title": "string"
}
],
"total_size": 0
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
next_page_token | string | false | none | none |
sets | [mycujoo.annotations.v1beta1.AnnotationSet] | false | none | none |
total_size | integer(int32) | false | none | The total count of items in the list irrespective of pagination. Will be present only when request 'include' field ask for it. |
mycujoo.annotations.v1beta1.ListAnnotationTypesRequest.Include
"INCLUDE_UNSPECIFIED"
- INCLUDE_TOTAL_SIZE: When included, response will contain metadata about total number of available results irrespective of pagination
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
- INCLUDE_TOTAL_SIZE: When included, response will contain metadata about total number of available results irrespective of pagination | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
- INCLUDE_TOTAL_SIZE: When included, response will contain metadata about total number of available results irrespective of pagination | INCLUDE_UNSPECIFIED |
- INCLUDE_TOTAL_SIZE: When included, response will contain metadata about total number of available results irrespective of pagination | INCLUDE_TOTAL_SIZE |
mycujoo.annotations.v1beta1.ListAnnotationTypesRequest.Order
"ORDER_TITLE_UNSPECIFIED"
- ORDER_TITLE_ASC: Results sorted by title ascending
- ORDER_TITLE_DESC: Results sorted by title descending
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
- ORDER_TITLE_ASC: Results sorted by title ascending | ||||
- ORDER_TITLE_DESC: Results sorted by title descending | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
- ORDER_TITLE_ASC: Results sorted by title ascending | |
- ORDER_TITLE_DESC: Results sorted by title descending | ORDER_TITLE_UNSPECIFIED |
- ORDER_TITLE_ASC: Results sorted by title ascending | |
- ORDER_TITLE_DESC: Results sorted by title descending | ORDER_TITLE_ASC |
- ORDER_TITLE_ASC: Results sorted by title ascending | |
- ORDER_TITLE_DESC: Results sorted by title descending | ORDER_TITLE_DESC |
mycujoo.annotations.v1beta1.ListAnnotationTypesResponse
{
"next_page_token": "string",
"total_size": 0,
"types": [
{
"action_configuration_ids": [
"string"
],
"id": "string",
"set_id": "string",
"title": "string"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
next_page_token | string | false | none | none |
total_size | integer(int32) | false | none | The total count of items in the list irrespective of pagination. Will be present only when request 'include' field ask for it. |
types | [mycujoo.annotations.v1beta1.AnnotationType] | false | none | none |
mycujoo.annotations.v1beta1.ListAnnotationsRequest.Include
"INCLUDE_UNSPECIFIED"
- INCLUDE_TOTAL_SIZE: When included, response will contain metadata about total number of available results irrespective of pagination
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
- INCLUDE_TOTAL_SIZE: When included, response will contain metadata about total number of available results irrespective of pagination | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
- INCLUDE_TOTAL_SIZE: When included, response will contain metadata about total number of available results irrespective of pagination | INCLUDE_UNSPECIFIED |
- INCLUDE_TOTAL_SIZE: When included, response will contain metadata about total number of available results irrespective of pagination | INCLUDE_TOTAL_SIZE |
mycujoo.annotations.v1beta1.ListAnnotationsRequest.Order
"ORDER_UNSPECIFIED"
- ORDER_OFFSET_ASC: Results sorted by offset ascending
- ORDER_OFFSET_DESC: Results sorted by offset descending
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
- ORDER_OFFSET_ASC: Results sorted by offset ascending | ||||
- ORDER_OFFSET_DESC: Results sorted by offset descending | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
- ORDER_OFFSET_ASC: Results sorted by offset ascending | |
- ORDER_OFFSET_DESC: Results sorted by offset descending | ORDER_UNSPECIFIED |
- ORDER_OFFSET_ASC: Results sorted by offset ascending | |
- ORDER_OFFSET_DESC: Results sorted by offset descending | ORDER_OFFSET_ASC |
- ORDER_OFFSET_ASC: Results sorted by offset ascending | |
- ORDER_OFFSET_DESC: Results sorted by offset descending | ORDER_OFFSET_DESC |
mycujoo.annotations.v1beta1.ListAnnotationsResponse
{
"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
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
annotations | [mycujoo.annotations.v1beta1.Annotation] | false | none | none |
next_page_token | string | false | none | none |
total_size | integer(int32) | false | none | The total count of items in the list irrespective of pagination. Will be present only when request 'include' field ask for it. |
mycujoo.annotations.v1beta1.SetAnnotationSetIamPolicyResponse
{}
When there is no error result is empty
Properties
None
mycujoo.annotations.v1beta1.TestIamPermissionsRequest
{
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
permissions | [string] | true | none | none |
resource | mycujoo.auth.v1.Resource | true | none | Resource object reference that is used to represent objects in the IAM system. |
mycujoo.annotations.v1beta1.TestIamPermissionsResponse
{
"permissions": [
"projects.create",
"projects.update"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
permissions | [string] | false | none | none |
resource | mycujoo.auth.v1.Resource | false | none | Resource object reference that is used to represent objects in the IAM system. |
mycujoo.annotations.v1beta1.UpdateAnnotationRequestFields
{
"offset": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
offset | string(int64) | false | none | none |
mycujoo.annotations.v1beta1.UpdateAnnotationResponse
{
"annotation": {
"action_call_ids": [
"string"
],
"create_time": "2019-08-24T14:15:22Z",
"id": "string",
"offset": "string",
"timeline_id": "string",
"type_id": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
annotation | mycujoo.annotations.v1beta1.Annotation | false | none | none |
mycujoo.annotations.v1beta1.UpdateAnnotationSetRequestFields
{
"title": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
title | string | false | none | none |
mycujoo.annotations.v1beta1.UpdateAnnotationSetResponse
{
"set": {
"id": "string",
"title": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
set | mycujoo.annotations.v1beta1.AnnotationSet | false | none | none |
mycujoo.annotations.v1beta1.UpdateAnnotationTypeRequestFields
{
"title": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
title | string | false | none | none |
mycujoo.annotations.v1beta1.UpdateAnnotationTypeResponse
{
"type": {
"action_configuration_ids": [
"string"
],
"id": "string",
"set_id": "string",
"title": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
type | mycujoo.annotations.v1beta1.AnnotationType | false | none | none |
mycujoo.assets.v1beta1.Asset
{
"audio_metadata": {
"audio_format": "string",
"duration": "string"
},
"bucket_name": "string",
"create_time": "2019-08-24T14:15:22Z",
"extension": "string",
"id": "string",
"image_metadata": {
"height": 0,
"width": 0
},
"labels": {
"property1": "string",
"property2": "string"
},
"media_type": "string",
"org_id": "string",
"path": "string",
"project_id": "string",
"public_url": "string",
"size_bytes": "string",
"thumbnail": {
"id": "string",
"public_url": "string"
},
"title": "string",
"update_time": "2019-08-24T14:15:22Z",
"video_metadata": {
"duration": "string",
"height": 0,
"video_format": "string",
"width": 0
}
}
Represents an uploaded asset
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
audio_metadata | mycujoo.assets.v1beta1.AudioMetadata | false | none | none |
bucket_name | string | false | none | Bucket name of the stored object. |
create_time | string(date-time) | false | none | none |
extension | string | false | none | none |
id | string | false | none | none |
image_metadata | mycujoo.assets.v1beta1.ImageMetadata | false | none | none |
labels | object | false | none | none |
ยป additionalProperties | string | false | none | none |
media_type | string | false | none | none |
org_id | string | false | none | Organization ID of the asset. |
path | string | false | none | Path to the stored object. |
project_id | string | false | none | none |
public_url | string | false | none | none |
size_bytes | string(int64) | false | none | none |
thumbnail | mycujoo.assets.v1beta1.Thumbnail | false | none | none |
title | string | false | none | Human-friendly title of the asset. |
update_time | string(date-time) | false | none | none |
video_metadata | mycujoo.assets.v1beta1.VideoMetadata | false | none | none |
mycujoo.assets.v1beta1.AudioMetadata
{
"audio_format": "string",
"duration": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
audio_format | string | false | none | none |
duration | string | false | none | none |
mycujoo.assets.v1beta1.CreateUploadRequest
{
"content_length": "string",
"labels": {
"property1": "string",
"property2": "string"
},
"media_type": "string",
"project_id": "string",
"title": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
content_length | string(int64) | false | none | none |
labels | object | false | none | none |
ยป additionalProperties | string | false | none | none |
media_type | string | false | none | none |
project_id | string | true | none | none |
title | string | false | none | Human-friendly title of the asset. |
mycujoo.assets.v1beta1.CreateUploadResponse
{
"expiration_time": "2019-08-24T14:15:22Z",
"upload_url": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
expiration_time | string(date-time) | false | none | none |
upload_url | string | false | none | none |
mycujoo.assets.v1beta1.GetIamPolicyResponse
{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
},
"resource_hierarchy": [
{
"id": "elevendata",
"type": "project"
}
],
"resource_title": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
etag | string(byte) | false | none | none |
policy | mycujoo.auth.v1.Policy | false | none | Authorization policy. |
resource_hierarchy | [mycujoo.auth.v1.Resource] | false | none | [Resource object reference that is used to represent objects in the IAM system.] |
resource_title | string | false | none | none |
mycujoo.assets.v1beta1.ImageMetadata
{
"height": 0,
"width": 0
}
Metadata for assets of type image
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
height | integer(int32) | false | none | none |
width | integer(int32) | false | none | none |
mycujoo.assets.v1beta1.ImportAsset
{
"audio_metadata": {
"audio_format": "string",
"duration": "string"
},
"extension": "string",
"image_metadata": {
"height": 0,
"width": 0
},
"labels[string]": {
"property1": "string",
"property2": "string"
},
"media_type": "string",
"org_id": "string",
"project_id": "string",
"size_bytes": "string",
"source_url": "string",
"title": "string",
"video_metadata": {
"duration": "string",
"height": 0,
"video_format": "string",
"width": 0
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
audio_metadata | mycujoo.assets.v1beta1.AudioMetadata | false | none | none |
extension | string | false | none | none |
image_metadata | mycujoo.assets.v1beta1.ImageMetadata | false | none | none |
labels[string] | object | false | none | none |
ยป additionalProperties | string | false | none | none |
media_type | string | false | none | none |
org_id | string | false | none | Organization ID of the asset. |
project_id | string | false | none | none |
size_bytes | string(int64) | false | none | none |
source_url | string | false | none | none |
title | string | false | none | Human-friendly name of the asset. |
video_metadata | mycujoo.assets.v1beta1.VideoMetadata | false | none | none |
mycujoo.assets.v1beta1.ImportAssetResponse
{
"asset": {
"audio_metadata": {
"audio_format": "string",
"duration": "string"
},
"bucket_name": "string",
"create_time": "2019-08-24T14:15:22Z",
"extension": "string",
"id": "string",
"image_metadata": {
"height": 0,
"width": 0
},
"labels": {
"property1": "string",
"property2": "string"
},
"media_type": "string",
"org_id": "string",
"path": "string",
"project_id": "string",
"public_url": "string",
"size_bytes": "string",
"thumbnail": {
"id": "string",
"public_url": "string"
},
"title": "string",
"update_time": "2019-08-24T14:15:22Z",
"video_metadata": {
"duration": "string",
"height": 0,
"video_format": "string",
"width": 0
}
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
asset | mycujoo.assets.v1beta1.Asset | false | none | none |
mycujoo.assets.v1beta1.LabelKey
{
"create_time": "2019-08-24T14:15:22Z",
"id": "string",
"key": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
create_time | string(date-time) | false | none | none |
id | string | false | none | none |
key | string | false | none | none |
mycujoo.assets.v1beta1.LabelValue
{
"create_time": "2019-08-24T14:15:22Z",
"id": "string",
"value": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
create_time | string(date-time) | false | none | none |
id | string | false | none | none |
value | string | false | none | none |
mycujoo.assets.v1beta1.ListAssetsResponse
{
"assets": [
{
"audio_metadata": {
"audio_format": "string",
"duration": "string"
},
"bucket_name": "string",
"create_time": "2019-08-24T14:15:22Z",
"extension": "string",
"id": "string",
"image_metadata": {
"height": 0,
"width": 0
},
"labels": {
"property1": "string",
"property2": "string"
},
"media_type": "string",
"org_id": "string",
"path": "string",
"project_id": "string",
"public_url": "string",
"size_bytes": "string",
"thumbnail": {
"id": "string",
"public_url": "string"
},
"title": "string",
"update_time": "2019-08-24T14:15:22Z",
"video_metadata": {
"duration": "string",
"height": 0,
"video_format": "string",
"width": 0
}
}
],
"next_page_token": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
assets | [mycujoo.assets.v1beta1.Asset] | false | none | none |
next_page_token | string | false | none | The pagination token that should be used to get next page results. An empty value means no more results. |
mycujoo.assets.v1beta1.ListLabelKeysResponse
{
"keys": [
{
"create_time": "2019-08-24T14:15:22Z",
"id": "string",
"key": "string"
}
],
"next_page_token": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
keys | [mycujoo.assets.v1beta1.LabelKey] | false | none | none |
next_page_token | string | false | none | The pagination token that should be used to get next page results. An empty value means no more results. |
mycujoo.assets.v1beta1.ListLabelValuesResponse
{
"next_page_token": "string",
"values": [
{
"create_time": "2019-08-24T14:15:22Z",
"id": "string",
"value": "string"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
next_page_token | string | false | none | The pagination token that should be used to get next page results. An empty value means no more results. |
values | [mycujoo.assets.v1beta1.LabelValue] | false | none | none |
mycujoo.assets.v1beta1.SetIamPolicyResponse
{}
Properties
None
mycujoo.assets.v1beta1.TestIamPermissionsRequest
{
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
permissions | [string] | true | none | none |
resource | mycujoo.auth.v1.Resource | true | none | Resource object reference that is used to represent objects in the IAM system. |
mycujoo.assets.v1beta1.TestIamPermissionsResponse
{
"permissions": [
"projects.create",
"projects.update"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
permissions | [string] | false | none | none |
resource | mycujoo.auth.v1.Resource | false | none | Resource object reference that is used to represent objects in the IAM system. |
mycujoo.assets.v1beta1.Thumbnail
{
"id": "string",
"public_url": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | none |
public_url | string | false | none | none |
mycujoo.assets.v1beta1.UpdateAssetLabelsResponse
{}
Properties
None
mycujoo.assets.v1beta1.UpdateAssetTitleResponse
{}
Properties
None
mycujoo.assets.v1beta1.VideoMetadata
{
"duration": "string",
"height": 0,
"video_format": "string",
"width": 0
}
Metadata for assets of type video
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
duration | string | false | none | none |
height | integer(int32) | false | none | none |
video_format | string | false | none | none |
width | integer(int32) | false | none | none |
mycujoo.auth.v1.Binding
{
"account_ids": [
"string"
],
"include_all_organization_accounts": true,
"role_id": "string"
}
Associates account_ids
with a role
.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
account_ids | [string] | false | none | List of account identifiers (referencing mycujoo.accounts.v1.Account ) that have the role. |
include_all_organization_accounts | boolean | false | none | If this is set to true then the role is granted to all accounts in the organization. It overrides the account_ids field. |
role_id | string | false | none | none |
mycujoo.auth.v1.GetResourceIamPolicyResponse
{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
etag | string(byte) | false | none | none |
policy | mycujoo.auth.v1.Policy | false | none | Authorization policy. |
mycujoo.auth.v1.GetRoleResponse
{
"role": {
"display_name": "Owner",
"id": "owner",
"permissions": [
"projects.get",
"events.get"
]
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
role | mycujoo.auth.v1.Role | false | none | none |
mycujoo.auth.v1.ListAccountResourceBindingsResponse
{
"resource_bindings": [
{
"resource": {
"id": "project-1",
"type": "project"
},
"role_id": "owner"
},
{
"resource": {
"id": "yyy",
"type": "event_type"
},
"role_id": "event_types.editor"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
next_page_token | string | false | none | If there are more results than have been returned, then this field is set to a non-empty value. To see the additional results, use that value as page_token in the next call to this method. |
resource_bindings | [mycujoo.auth.v1.ResourceBinding] | false | none | none |
mycujoo.auth.v1.ListRoleGroupsResponse
{
"next_page_token": "string",
"role_groups": [
{
"display_name": "string",
"id": "string",
"roles": [
{
"display_name": "Owner",
"id": "owner",
"permissions": [
"projects.get",
"events.get"
]
}
]
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
next_page_token | string | false | none | If there are more results than have been returned, then this field is set to a non-empty value. To see the additional results, use that value as page_token in the next call to this method. |
role_groups | [mycujoo.auth.v1.RoleGroup] | false | none | none |
mycujoo.auth.v1.LoginRequest
{
"email": "string",
"org_id": "string",
"password": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
string | true | none | none | |
org_id | string | true | none | none |
password | string | true | none | none |
mycujoo.auth.v1.LoginResponse
{
"token": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
token | string | false | none | none |
mycujoo.auth.v1.Policy
{
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
}
Authorization policy.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
bindings | [mycujoo.auth.v1.Binding] | false | none | List of bindings to the policy. If empty, the policy will not have any effect. Total number of accounts referenced in the bindings should be up to 1500. If same account has multiple roles - it is counted multiple times. |
mycujoo.auth.v1.Resource
{
"id": "elevendata",
"type": "project"
}
Resource object reference that is used to represent objects in the IAM system.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | none |
type | string | false | none | none |
mycujoo.auth.v1.ResourceBinding
{
"resource": {
"id": "elevendata",
"type": "project"
},
"role_ids": [
"owner"
],
"role_ids_via_org_bindings": [
"viewer"
]
}
Link between resource and roles this is a virtual resource, meaning it's derived from the existing policies on a fly, not created as such
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
resource | mycujoo.auth.v1.Resource | false | none | Resource object reference that is used to represent objects in the IAM system. |
role_ids | [string] | false | none | List of role IDs that account has on the resource. |
role_ids_via_org_bindings | [string] | false | none | List of role IDs that account has on the resource, granted via an organization-wide binding. |
mycujoo.auth.v1.Role
{
"display_name": "Owner",
"id": "owner",
"permissions": [
"projects.get",
"events.get"
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
description | string | false | none | A human friendly description of the role. |
display_name | string | false | none | none |
id | string | false | read-only | The unique identifier of the role. Can be either system role like owner or custom role ID like org:ORG_ID:role:ROLE_ID . |
permissions | [string] | false | none | The permissions that are granted to the role. |
mycujoo.auth.v1.RoleGroup
{
"display_name": "string",
"id": "string",
"roles": [
{
"display_name": "Owner",
"id": "owner",
"permissions": [
"projects.get",
"events.get"
]
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
display_name | string | false | none | A human friendly name of the group. |
id | string | false | none | none |
roles | [mycujoo.auth.v1.Role] | false | none | none |
mycujoo.auth.v1.SetResourceIamPolicyResponse
{}
When there is no error result is empty
Properties
None
mycujoo.auth.v1.TestIamPermissionsRequest
{
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
permissions | [string] | true | none | none |
resource | mycujoo.auth.v1.Resource | true | none | Resource object reference that is used to represent objects in the IAM system. |
mycujoo.auth.v1.TestIamPermissionsResponse
{
"permissions": [
"projects.create",
"projects.update"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
permissions | [string] | false | none | none |
resource | mycujoo.auth.v1.Resource | false | none | Resource object reference that is used to represent objects in the IAM system. |
mycujoo.banners.v1beta1.AddBannerToSetResponse
{}
Properties
None
mycujoo.banners.v1beta1.Banner
{
"assets": {
"desktop_asset_id": "string",
"mobile_asset_id": "string"
},
"content": {
"button_text": "string",
"primary": "string",
"secondary": "string"
},
"id": "string",
"last_update_time": "2019-08-24T14:15:22Z",
"open_in_new_window": true,
"state": "STATE_UNSPECIFIED",
"target_url": "string",
"title": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
assets | mycujoo.banners.v1beta1.BannerAssets | false | none | none |
content | mycujoo.banners.v1beta1.BannerContent | false | none | none |
id | string | false | read-only | none |
last_update_time | string(date-time) | false | none | none |
open_in_new_window | boolean | false | none | none |
state | mycujoo.banners.v1beta1.Banner.State | false | none | none |
target_url | string | false | none | none |
title | string | false | none | none |
mycujoo.banners.v1beta1.Banner.State
"STATE_UNSPECIFIED"
- STATE_PUBLISHED: default when a new banner is created
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
- STATE_PUBLISHED: default when a new banner is created | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
- STATE_PUBLISHED: default when a new banner is created | STATE_UNSPECIFIED |
- STATE_PUBLISHED: default when a new banner is created | STATE_PUBLISHED |
- STATE_PUBLISHED: default when a new banner is created | STATE_HIDDEN |
mycujoo.banners.v1beta1.BannerAssets
{
"desktop_asset_id": "string",
"mobile_asset_id": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
desktop_asset_id | string | false | none | none |
mobile_asset_id | string | false | none | none |
mycujoo.banners.v1beta1.BannerContent
{
"button_text": "string",
"primary": "string",
"secondary": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
button_text | string | false | none | none |
primary | string | false | none | none |
secondary | string | false | none | none |
mycujoo.banners.v1beta1.BannerSet
{
"banners_count": 0,
"id": "string",
"last_update_time": "2019-08-24T14:15:22Z",
"title": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
banners_count | integer(int32) | false | read-only | none |
id | string | true | none | none |
last_update_time | string(date-time) | false | none | none |
title | string | false | none | none |
mycujoo.banners.v1beta1.CreateBannerResponse
{
"banner": {
"assets": {
"desktop_asset_id": "string",
"mobile_asset_id": "string"
},
"content": {
"button_text": "string",
"primary": "string",
"secondary": "string"
},
"id": "string",
"last_update_time": "2019-08-24T14:15:22Z",
"open_in_new_window": true,
"state": "STATE_UNSPECIFIED",
"target_url": "string",
"title": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
banner | mycujoo.banners.v1beta1.Banner | false | none | none |
mycujoo.banners.v1beta1.CreateBannerSetResponse
{
"banner_set": {
"banners_count": 0,
"id": "string",
"last_update_time": "2019-08-24T14:15:22Z",
"title": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
banner_set | mycujoo.banners.v1beta1.BannerSet | false | none | none |
mycujoo.banners.v1beta1.DeleteBannerResponse
{}
Properties
None
mycujoo.banners.v1beta1.DeleteBannerSetResponse
{}
Properties
None
mycujoo.banners.v1beta1.GetBannerResponse
{
"banner": {
"assets": {
"desktop_asset_id": "string",
"mobile_asset_id": "string"
},
"content": {
"button_text": "string",
"primary": "string",
"secondary": "string"
},
"id": "string",
"last_update_time": "2019-08-24T14:15:22Z",
"open_in_new_window": true,
"state": "STATE_UNSPECIFIED",
"target_url": "string",
"title": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
banner | mycujoo.banners.v1beta1.Banner | false | none | none |
mycujoo.banners.v1beta1.GetBannerSetResponse
{
"banner_set": {
"banners_count": 0,
"id": "string",
"last_update_time": "2019-08-24T14:15:22Z",
"title": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
banner_set | mycujoo.banners.v1beta1.BannerSet | false | none | none |
mycujoo.banners.v1beta1.ListAllBannersBySetIDResponse
{
"banners": [
{
"assets": {
"desktop_asset_id": "string",
"mobile_asset_id": "string"
},
"content": {
"button_text": "string",
"primary": "string",
"secondary": "string"
},
"id": "string",
"last_update_time": "2019-08-24T14:15:22Z",
"open_in_new_window": true,
"state": "STATE_UNSPECIFIED",
"target_url": "string",
"title": "string"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
banners | [mycujoo.banners.v1beta1.Banner] | false | none | none |
mycujoo.banners.v1beta1.ListAllSetsByBannerIDResponse
{
"banner_sets": [
{
"banners_count": 0,
"id": "string",
"last_update_time": "2019-08-24T14:15:22Z",
"title": "string"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
banner_sets | [mycujoo.banners.v1beta1.BannerSet] | false | none | none |
mycujoo.banners.v1beta1.ListBannerSetsRequest.Order
"ORDER_UNSPECIFIED"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | ORDER_UNSPECIFIED |
anonymous | ORDER_CREATE_TIME_DESC |
anonymous | ORDER_CREATE_TIME_ASC |
mycujoo.banners.v1beta1.ListBannerSetsResponse
{
"banner_sets": [
{
"banners_count": 0,
"id": "string",
"last_update_time": "2019-08-24T14:15:22Z",
"title": "string"
}
],
"next_page_token": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
banner_sets | [mycujoo.banners.v1beta1.BannerSet] | false | none | none |
next_page_token | string | false | none | none |
mycujoo.banners.v1beta1.ListBannersRequest.Order
"ORDER_UNSPECIFIED"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | ORDER_UNSPECIFIED |
anonymous | ORDER_CREATE_TIME_DESC |
anonymous | ORDER_CREATE_TIME_ASC |
mycujoo.banners.v1beta1.ListBannersResponse
{
"banners": [
{
"assets": {
"desktop_asset_id": "string",
"mobile_asset_id": "string"
},
"content": {
"button_text": "string",
"primary": "string",
"secondary": "string"
},
"id": "string",
"last_update_time": "2019-08-24T14:15:22Z",
"open_in_new_window": true,
"state": "STATE_UNSPECIFIED",
"target_url": "string",
"title": "string"
}
],
"next_page_token": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
banners | [mycujoo.banners.v1beta1.Banner] | false | none | none |
next_page_token | string | false | none | none |
mycujoo.banners.v1beta1.RemoveBannerFromSetResponse
{}
Properties
None
mycujoo.banners.v1beta1.UpdateBannerResponse
{
"banner": {
"assets": {
"desktop_asset_id": "string",
"mobile_asset_id": "string"
},
"content": {
"button_text": "string",
"primary": "string",
"secondary": "string"
},
"id": "string",
"last_update_time": "2019-08-24T14:15:22Z",
"open_in_new_window": true,
"state": "STATE_UNSPECIFIED",
"target_url": "string",
"title": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
banner | mycujoo.banners.v1beta1.Banner | false | none | none |
mycujoo.banners.v1beta1.UpdateBannerSetBannersResponse
{}
Properties
None
mycujoo.banners.v1beta1.UpdateBannerSetResponse
{
"banner_set": {
"banners_count": 0,
"id": "string",
"last_update_time": "2019-08-24T14:15:22Z",
"title": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
banner_set | mycujoo.banners.v1beta1.BannerSet | false | none | none |
mycujoo.drmauth.v1beta1.ContentKey
{
"iv": "string",
"key": "string",
"key_id": "string",
"pssh": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
iv | string | false | none | none |
key | string | false | none | none |
key_id | string | false | none | none |
pssh | string | false | none | none |
mycujoo.drmauth.v1beta1.EncryptionSystem
"ENCRYPTION_SYSTEM_UNSPECIFIED"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | ENCRYPTION_SYSTEM_UNSPECIFIED |
anonymous | ENCRYPTION_SYSTEM_WIDEVINE |
anonymous | ENCRYPTION_SYSTEM_PLAYREADY |
anonymous | ENCRYPTION_SYSTEM_FAIRPLAY |
mycujoo.drmauth.v1beta1.GetContentKeyResponse
{
"content_key": {
"iv": "string",
"key": "string",
"key_id": "string",
"pssh": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
content_key | mycujoo.drmauth.v1beta1.ContentKey | false | none | none |
mycujoo.drmauth.v1beta1.GetCredentialResponse
{
"org_credential": {
"property1": "string",
"property2": "string"
},
"provider": "PROVIDER_UNSPECIFIED"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
org_credential | object | false | none | none |
ยป additionalProperties | string | false | none | none |
provider | mycujoo.drmauth.v1beta1.Provider | false | none | none |
mycujoo.drmauth.v1beta1.GetLicenseResponse
{
"license": {
"headers": {
"property1": "string",
"property2": "string"
},
"provider": "PROVIDER_UNSPECIFIED",
"url": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
license | mycujoo.drmauth.v1beta1.License | false | none | none |
mycujoo.drmauth.v1beta1.License
{
"headers": {
"property1": "string",
"property2": "string"
},
"provider": "PROVIDER_UNSPECIFIED",
"url": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
headers | object | false | none | Authorization type Some DRM providers need their own HTTP headers fields e.g Authorization, Content-Type or etc. |
ยป additionalProperties | string | false | none | none |
provider | mycujoo.drmauth.v1beta1.Provider | false | none | none |
url | string | false | none | The license check URL e.g https://wv.service.expressplay.com/hms/wv/rights/?ExpressPlayToken=... |
mycujoo.drmauth.v1beta1.Provider
"PROVIDER_UNSPECIFIED"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | PROVIDER_UNSPECIFIED |
anonymous | PROVIDER_INTERTRUST |
anonymous | PROVIDER_VERIMATRIX |
anonymous | PROVIDER_EZDRM |
mycujoo.email.v1beta1.Attachment
{
"bytes": "string",
"content_type": "string",
"file_name": "string",
"url": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
bytes | string(byte) | false | none | none |
content_type | string | false | none | none |
file_name | string | false | none | none |
url | string | false | none | Contains the url where the attachment can be found The host address couldn't be an IP address. |
mycujoo.email.v1beta1.CreateTemplateResponse
{}
Properties
None
mycujoo.email.v1beta1.DeleteTemplateResponse
{}
Properties
None
mycujoo.email.v1beta1.GetTemplateResponse
{
"template": {
"description": "string",
"name": "string",
"template": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
template | mycujoo.email.v1beta1.Template | false | none | none |
mycujoo.email.v1beta1.OrganizationRecipient
{
"org_id": "string",
"types": [
"TYPE_UNSPECIFIED"
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
org_id | string | false | none | none |
types | [mycujoo.email.v1beta1.OrganizationRecipient.Type] | false | none | none |
mycujoo.email.v1beta1.OrganizationRecipient.Type
"TYPE_UNSPECIFIED"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | TYPE_UNSPECIFIED |
anonymous | TYPE_OWNER |
mycujoo.email.v1beta1.Recipient
{
"email": "string",
"organization_recipient": {
"org_id": "string",
"types": [
"TYPE_UNSPECIFIED"
]
},
"user_id": "string",
"variables": {}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
string | false | none | none | |
organization_recipient | mycujoo.email.v1beta1.OrganizationRecipient | false | none | none |
user_id | string | false | none | none |
variables | object | false | none | none |
mycujoo.email.v1beta1.SendEmailResponse
{
"message_id": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
message_id | string | false | none | none |
mycujoo.email.v1beta1.Template
{
"description": "string",
"name": "string",
"template": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
description | string | false | none | none |
name | string | false | none | none |
template | string | false | none | none |
mycujoo.entitlements.v1.CheckEntitlementResponse
{
"is_entitled": true
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
is_entitled | boolean | false | none | none |
mycujoo.entitlements.v1.ContentReference
{
"id": "string",
"type": "string"
}
ContentReference references some content.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | true | none | none |
type | string | true | none | none |
mycujoo.entitlements.v1.DeleteEntitlementResponse
{}
Properties
None
mycujoo.entitlements.v1.Entitlement
{
"concurrency_limit": "string",
"content_reference": {
"id": "string",
"type": "string"
},
"expiration_time": "2019-08-24T14:15:22Z",
"identity_id": "string",
"origin": {
"id": "string",
"type": "string"
}
}
Entitlement is a pair of identity and content reference that is used for access management
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
concurrency_limit | string(int64) | false | none | Concurrency limit for the entitlement. 0 means no limit. It is defined at the entitlement level, not at the content level because there could be multiple entitlements for the same content with different limits. If limit is reached - oldest playback session will be closed. |
content_reference | mycujoo.entitlements.v1.ContentReference | false | none | ContentReference references some content. |
expiration_time | string(date-time) | false | none | Time when entitlement expires and identity lose access to the content. 0 means never expires. |
identity_id | string | false | none | none |
origin | mycujoo.entitlements.v1.Origin | false | none | Preceding event that is the reason for the content to be entitled (for instance, payment). |
mycujoo.entitlements.v1.ListEntitlementsResponse
{
"entitlements": [
{
"concurrency_limit": "string",
"content_reference": {
"id": "string",
"type": "string"
},
"expiration_time": "2019-08-24T14:15:22Z",
"identity_id": "string",
"origin": {
"id": "string",
"type": "string"
}
}
],
"next_page_token": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
entitlements | [mycujoo.entitlements.v1.Entitlement] | false | none | none |
next_page_token | string | false | none | none |
mycujoo.entitlements.v1.Origin
{
"id": "string",
"type": "string"
}
Preceding event that is the reason for the content to be entitled (for instance, payment).
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | true | none | ID of the event that is the reason for the entitlement. |
type | string | true | none | Origin type (i.e. 'payment'). |
mycujoo.entitlements.v1.UpdateContentProtectionResponse
{}
Properties
None
mycujoo.entitlements.v1.UpsertEntitlementResponse
{}
Properties
None
mycujoo.events.v1.AddStreamResponse
{
"event_id": "string",
"stream_id": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
event_id | string | false | none | none |
stream_id | string | false | none | none |
mycujoo.events.v1.AddTimelineResponse
{
"event_id": "string",
"timeline_id": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
event_id | string | false | none | none |
timeline_id | string | false | none | none |
mycujoo.events.v1.ContentVisibility
"CONTENT_VISIBILITY_UNSPECIFIED"
- CONTENT_VISIBILITY_UNSPECIFIED: When event visibility is not specified
- CONTENT_VISIBILITY_PUBLISHED: It's when event is visible on list and accessible using url.
- CONTENT_VISIBILITY_UNLISTED: It's when event is accessible just using url it will not be shown on lists.
- CONTENT_VISIBILITY_HIDDEN: It's when event is completely hidden and is not accessible by url and will not be shown on the lists.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | - CONTENT_VISIBILITY_UNSPECIFIED: When event visibility is not specified - CONTENT_VISIBILITY_PUBLISHED: It's when event is visible on list and accessible using url. - CONTENT_VISIBILITY_UNLISTED: It's when event is accessible just using url it will not be shown on lists. - CONTENT_VISIBILITY_HIDDEN: It's when event is completely hidden and is not accessible by url and will not be shown on the lists. |
Enumerated Values
Property | Value |
---|---|
anonymous | CONTENT_VISIBILITY_UNSPECIFIED |
anonymous | CONTENT_VISIBILITY_PUBLISHED |
anonymous | CONTENT_VISIBILITY_UNLISTED |
anonymous | CONTENT_VISIBILITY_HIDDEN |
mycujoo.events.v1.CreateRequest
{
"content_visibility": "CONTENT_VISIBILITY_UNSPECIFIED",
"description": "string",
"is_test": true,
"labels": {
"property1": "string",
"property2": "string"
},
"location": {
"online": "string",
"physical": {
"city": "Amsterdam",
"continent_code": "EU",
"country_code": "NL",
"venue": "Johan Cruijff ArenA"
}
},
"metadata": {
"data": {},
"schema_id": "string"
},
"organiser": "string",
"poster_asset_id": "string",
"poster_url": "string",
"project_id": "string",
"start_time": "2019-08-24T14:15:22Z",
"thumbnail_asset_id": "string",
"thumbnail_url": "string",
"timezone": "string",
"title": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
content_visibility | mycujoo.events.v1.ContentVisibility | false | none | - CONTENT_VISIBILITY_UNSPECIFIED: When event visibility is not specified - CONTENT_VISIBILITY_PUBLISHED: It's when event is visible on list and accessible using url. - CONTENT_VISIBILITY_UNLISTED: It's when event is accessible just using url it will not be shown on lists. - CONTENT_VISIBILITY_HIDDEN: It's when event is completely hidden and is not accessible by url and will not be shown on the lists. |
description | string | false | none | none |
is_test | boolean | false | none | none |
labels | object | false | none | User defined labels for the event. Deprecated: Use metadata with indexed fields instead. |
ยป additionalProperties | string | false | none | none |
location | mycujoo.events.v1.Location | true | none | This could either be a physical location (eg. Amsterdam Arena Blvd) or a URL. When location type is set to online, the sent string will be validated as URL (https://www.amsterdamarena.com/). |
metadata | mycujoo.events.v1.EventMetadata | false | none | none |
organiser | string | false | none | none |
poster_asset_id | string | false | none | none |
poster_url | string | false | none | none |
project_id | string | false | none | none |
start_time | string(date-time) | true | none | none |
thumbnail_asset_id | string | false | none | none |
thumbnail_url | string | false | none | none |
timezone | string | true | none | none |
title | string | true | none | none |
mycujoo.events.v1.CreateResponse
{
"event": {
"id": "ck9poahb1000601laar5w4dfd",
"title": "2020 MyCujoo Champions League Final"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
event | mycujoo.events.v1.Event | false | none | none |
mycujoo.events.v1.DeleteResponse
{
"id": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | none |
mycujoo.events.v1.Event
{
"id": "ck9poahb1000601laar5w4dfd",
"title": "2020 MyCujoo Champions League Final"
}
MyCujoo Event
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
content_visibility | mycujoo.events.v1.ContentVisibility | false | none | - CONTENT_VISIBILITY_UNSPECIFIED: When event visibility is not specified - CONTENT_VISIBILITY_PUBLISHED: It's when event is visible on list and accessible using url. - CONTENT_VISIBILITY_UNLISTED: It's when event is accessible just using url it will not be shown on lists. - CONTENT_VISIBILITY_HIDDEN: It's when event is completely hidden and is not accessible by url and will not be shown on the lists. |
create_time | string(date-time) | false | none | none |
description | string | false | none | none |
id | string | false | none | none |
is_test | boolean | false | none | none |
labels | object | false | none | User defined labels for the event. Deprecated: Use metadata with indexed fields instead. |
ยป additionalProperties | string | false | none | none |
location | mycujoo.events.v1.Location | false | none | This could either be a physical location (eg. Amsterdam Arena Blvd) or a URL. When location type is set to online, the sent string will be validated as URL (https://www.amsterdamarena.com/). |
metadata | mycujoo.events.v1.EventMetadata | false | none | none |
organiser | string | false | none | none |
poster_asset_id | string | false | none | none |
poster_url | string | false | none | none |
project_id | string | false | none | none |
start_time | string(date-time) | false | none | none |
status | mycujoo.events.v1.EventStatus | false | none | - EVENT_STATUS_UNSPECIFIED: The default value for event status. In real world it will always be specified. - EVENT_STATUS_SCHEDULED: Initial status for created event. It's when event will happend in the future and the date is known. - EVENT_STATUS_RESCHEDULED: When the event was rescheduled and the future date is known. - EVENT_STATUS_CANCELLED: When the event is cancelled and is not going to happen. - EVENT_STATUS_POSTPONED: When the event is rescheduled but the future date is not known yet. - EVENT_STATUS_DELAYED: When the event is still going to happen around defined start date but is delayed by some amount of time. - EVENT_STATUS_STARTED: When the event has started and is live. - EVENT_STATUS_PAUSED: When the event has paused. - EVENT_STATUS_SUSPENDED: When the event is suspended and it's not yet known if it's going to happen in the future. - EVENT_STATUS_FINISHED: When the event has finished and is no longer live. |
stream_ids | [string] | false | none | none |
thumbnail_asset_id | string | false | none | none |
thumbnail_url | string | false | none | none |
timeline_ids | [string] | false | none | none |
timezone | string | false | none | none |
title | string | false | none | none |
mycujoo.events.v1.EventMetadata
{
"data": {},
"schema_id": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
data | object | false | none | none |
schema_id | string | false | none | none |
mycujoo.events.v1.EventStatus
"EVENT_STATUS_UNSPECIFIED"
- EVENT_STATUS_UNSPECIFIED: The default value for event status. In real world it will always be specified.
- EVENT_STATUS_SCHEDULED: Initial status for created event. It's when event will happend in the future and the date is known.
- EVENT_STATUS_RESCHEDULED: When the event was rescheduled and the future date is known.
- EVENT_STATUS_CANCELLED: When the event is cancelled and is not going to happen.
- EVENT_STATUS_POSTPONED: When the event is rescheduled but the future date is not known yet.
- EVENT_STATUS_DELAYED: When the event is still going to happen around defined start date but is delayed by some amount of time.
- EVENT_STATUS_STARTED: When the event has started and is live.
- EVENT_STATUS_PAUSED: When the event has paused.
- EVENT_STATUS_SUSPENDED: When the event is suspended and it's not yet known if it's going to happen in the future.
- EVENT_STATUS_FINISHED: When the event has finished and is no longer live.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | - EVENT_STATUS_UNSPECIFIED: The default value for event status. In real world it will always be specified. - EVENT_STATUS_SCHEDULED: Initial status for created event. It's when event will happend in the future and the date is known. - EVENT_STATUS_RESCHEDULED: When the event was rescheduled and the future date is known. - EVENT_STATUS_CANCELLED: When the event is cancelled and is not going to happen. - EVENT_STATUS_POSTPONED: When the event is rescheduled but the future date is not known yet. - EVENT_STATUS_DELAYED: When the event is still going to happen around defined start date but is delayed by some amount of time. - EVENT_STATUS_STARTED: When the event has started and is live. - EVENT_STATUS_PAUSED: When the event has paused. - EVENT_STATUS_SUSPENDED: When the event is suspended and it's not yet known if it's going to happen in the future. - EVENT_STATUS_FINISHED: When the event has finished and is no longer live. |
Enumerated Values
Property | Value |
---|---|
anonymous | EVENT_STATUS_UNSPECIFIED |
anonymous | EVENT_STATUS_SCHEDULED |
anonymous | EVENT_STATUS_RESCHEDULED |
anonymous | EVENT_STATUS_CANCELLED |
anonymous | EVENT_STATUS_POSTPONED |
anonymous | EVENT_STATUS_DELAYED |
anonymous | EVENT_STATUS_STARTED |
anonymous | EVENT_STATUS_PAUSED |
anonymous | EVENT_STATUS_SUSPENDED |
anonymous | EVENT_STATUS_FINISHED |
mycujoo.events.v1.GetIamPolicyResponse
{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
},
"resource_hierarchy": [
{
"id": "elevendata",
"type": "project"
}
],
"resource_title": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
etag | string(byte) | false | none | none |
policy | mycujoo.auth.v1.Policy | false | none | Authorization policy. |
resource_hierarchy | [mycujoo.auth.v1.Resource] | false | none | [Resource object reference that is used to represent objects in the IAM system.] |
resource_title | string | false | none | none |
mycujoo.events.v1.GetResponse
{
"event": {
"id": "ck9poahb1000601laar5w4dfd",
"title": "2020 MyCujoo Champions League Final"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
event | mycujoo.events.v1.Event | false | none | none |
mycujoo.events.v1.ListRequest.Include
"INCLUDE_UNSPECIFIED"
- INCLUDE_TOTAL_SIZE: When included, response will contain metadata about total number of available results irrespective of pagination
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
- INCLUDE_TOTAL_SIZE: When included, response will contain metadata about total number of | ||||
available results irrespective of pagination | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
- INCLUDE_TOTAL_SIZE: When included, response will contain metadata about total number of | |
available results irrespective of pagination | INCLUDE_UNSPECIFIED |
- INCLUDE_TOTAL_SIZE: When included, response will contain metadata about total number of | |
available results irrespective of pagination | INCLUDE_TOTAL_SIZE |
mycujoo.events.v1.ListRequest.Order
"ORDER_UNSPECIFIED"
- ORDER_UNSPECIFIED: When order is unspecified it internally defaults to date descending
- ORDER_DATE_ASC: Results sorted by date ascending
- ORDER_DATE_DESC: Results sorted by date descending
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
- ORDER_UNSPECIFIED: When order is unspecified it internally defaults to date descending |
- ORDER_DATE_ASC: Results sorted by date ascending
- ORDER_DATE_DESC: Results sorted by date descending|string|false|none|none|
Enumerated Values
Property | Value |
---|---|
- ORDER_UNSPECIFIED: When order is unspecified it internally defaults to date descending |
- ORDER_DATE_ASC: Results sorted by date ascending
- ORDER_DATE_DESC: Results sorted by date descending|ORDER_UNSPECIFIED| |- ORDER_UNSPECIFIED: When order is unspecified it internally defaults to date descending
- ORDER_DATE_ASC: Results sorted by date ascending
- ORDER_DATE_DESC: Results sorted by date descending|ORDER_DATE_ASC| |- ORDER_UNSPECIFIED: When order is unspecified it internally defaults to date descending
- ORDER_DATE_ASC: Results sorted by date ascending
- ORDER_DATE_DESC: Results sorted by date descending|ORDER_DATE_DESC|
mycujoo.events.v1.ListResponse
{
"events": [
{
"id": "ck9poahb1000601laar5w4dfd",
"title": "2020 MyCujoo Champions League Final"
}
],
"next_page_token": "string",
"previous_page_token": "string",
"total_size": 0
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
events | [mycujoo.events.v1.Event] | false | none | none |
next_page_token | string | false | none | none |
previous_page_token | string | false | none | none |
total_size | integer(int32) | false | none | The total count of items in the list irrespective of pagination. Will be present only when request 'include' field ask for it. |
mycujoo.events.v1.Location
{
"online": "string",
"physical": {
"city": "Amsterdam",
"continent_code": "EU",
"country_code": "NL",
"venue": "Johan Cruijff ArenA"
}
}
This could either be a physical location (eg. Amsterdam Arena Blvd) or a URL. When location type is set to online, the sent string will be validated as URL (https://www.amsterdamarena.com/).
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
online | string | false | none | none |
physical | mycujoo.events.v1.LocationPhysical | false | none | none |
mycujoo.events.v1.LocationPhysical
{
"city": "Amsterdam",
"continent_code": "EU",
"country_code": "NL",
"venue": "Johan Cruijff ArenA"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
city | string | false | none | none |
continent_code | string | false | none | none |
coordinates | google.type.LatLng | false | none | An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this must conform to the WGS84 standard. Values must be within normalized ranges. |
country_code | string | false | none | none |
venue | string | false | none | none |
mycujoo.events.v1.RemoveStreamResponse
{
"event_id": "string",
"stream_id": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
event_id | string | false | none | none |
stream_id | string | false | none | none |
mycujoo.events.v1.RemoveTimelineResponse
{
"event_id": "string",
"timeline_id": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
event_id | string | false | none | none |
timeline_id | string | false | none | none |
mycujoo.events.v1.SetIamPolicyResponse
{}
When there is no error result is empty
Properties
None
mycujoo.events.v1.TestIamPermissionsRequest
{
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
permissions | [string] | true | none | none |
resource | mycujoo.auth.v1.Resource | true | none | Resource object reference that is used to represent objects in the IAM system. |
mycujoo.events.v1.TestIamPermissionsResponse
{
"permissions": [
"projects.create",
"projects.update"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
permissions | [string] | false | none | none |
resource | mycujoo.auth.v1.Resource | false | none | Resource object reference that is used to represent objects in the IAM system. |
mycujoo.events.v1.UpdateRequestFields
{
"content_visibility": "CONTENT_VISIBILITY_UNSPECIFIED",
"description": "string",
"is_test": true,
"labels": {
"property1": "string",
"property2": "string"
},
"location": {
"online": "string",
"physical": {
"city": "Amsterdam",
"continent_code": "EU",
"country_code": "NL",
"venue": "Johan Cruijff ArenA"
}
},
"metadata": {
"data": {},
"schema_id": "string"
},
"organiser": "string",
"poster_asset_id": "string",
"poster_url": "string",
"start_time": "2019-08-24T14:15:22Z",
"status": "EVENT_STATUS_UNSPECIFIED",
"thumbnail_asset_id": "string",
"thumbnail_url": "string",
"timezone": "string",
"title": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
content_visibility | mycujoo.events.v1.ContentVisibility | false | none | - CONTENT_VISIBILITY_UNSPECIFIED: When event visibility is not specified - CONTENT_VISIBILITY_PUBLISHED: It's when event is visible on list and accessible using url. - CONTENT_VISIBILITY_UNLISTED: It's when event is accessible just using url it will not be shown on lists. - CONTENT_VISIBILITY_HIDDEN: It's when event is completely hidden and is not accessible by url and will not be shown on the lists. |
description | string | false | none | none |
is_test | boolean | false | none | none |
labels | object | false | none | User defined labels for the event. Deprecated: Use metadata with indexed fields instead. |
ยป additionalProperties | string | false | none | none |
location | mycujoo.events.v1.Location | false | none | This could either be a physical location (eg. Amsterdam Arena Blvd) or a URL. When location type is set to online, the sent string will be validated as URL (https://www.amsterdamarena.com/). |
metadata | mycujoo.events.v1.EventMetadata | false | none | none |
organiser | string | false | none | none |
poster_asset_id | string | false | none | none |
poster_url | string | false | none | none |
start_time | string(date-time) | false | none | none |
status | mycujoo.events.v1.EventStatus | false | none | - EVENT_STATUS_UNSPECIFIED: The default value for event status. In real world it will always be specified. - EVENT_STATUS_SCHEDULED: Initial status for created event. It's when event will happend in the future and the date is known. - EVENT_STATUS_RESCHEDULED: When the event was rescheduled and the future date is known. - EVENT_STATUS_CANCELLED: When the event is cancelled and is not going to happen. - EVENT_STATUS_POSTPONED: When the event is rescheduled but the future date is not known yet. - EVENT_STATUS_DELAYED: When the event is still going to happen around defined start date but is delayed by some amount of time. - EVENT_STATUS_STARTED: When the event has started and is live. - EVENT_STATUS_PAUSED: When the event has paused. - EVENT_STATUS_SUSPENDED: When the event is suspended and it's not yet known if it's going to happen in the future. - EVENT_STATUS_FINISHED: When the event has finished and is no longer live. |
thumbnail_asset_id | string | false | none | none |
thumbnail_url | string | false | none | none |
timezone | string | false | none | none |
title | string | false | none | none |
mycujoo.events.v1.UpdateResponse
{
"event": {
"id": "ck9poahb1000601laar5w4dfd",
"title": "2020 MyCujoo Champions League Final"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
event | mycujoo.events.v1.Event | false | none | none |
mycujoo.geofence.v1.ContentReference
{
"id": "string",
"type": "string"
}
ContentReference references some content.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | none |
type | string | false | none | none |
mycujoo.geofence.v1.CreateRequest
{
"allow": {
"country_codes": [
"string"
]
},
"content_reference": {
"id": "string",
"type": "string"
},
"disallow": {
"country_codes": [
"string"
]
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
allow | mycujoo.geofence.v1.Settings | false | none | none |
content_reference | mycujoo.geofence.v1.ContentReference | false | none | ContentReference references some content. |
disallow | mycujoo.geofence.v1.Settings | false | none | none |
mycujoo.geofence.v1.CreateResponse
{}
Properties
None
mycujoo.geofence.v1.DeleteResponse
{}
Properties
None
mycujoo.geofence.v1.Geoblocking
{
"allow": {
"country_codes": [
"string"
]
},
"disallow": {
"country_codes": [
"string"
]
}
}
Geoblocking settings that allows/disallows list of country codes to access the subject
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
allow | mycujoo.geofence.v1.Settings | false | none | none |
disallow | mycujoo.geofence.v1.Settings | false | none | none |
mycujoo.geofence.v1.GetResponse
{
"geoblocking": {
"allow": {
"country_codes": [
"string"
]
},
"disallow": {
"country_codes": [
"string"
]
}
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
geoblocking | mycujoo.geofence.v1.Geoblocking | false | none | none |
mycujoo.geofence.v1.Settings
{
"country_codes": [
"string"
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
country_codes | [string] | false | none | none |
mycujoo.geofence.v1.UpdateResponse
{}
Properties
None
mycujoo.identity.v1.Auth0APICredentials
{
"client_id": "string",
"client_secret": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
client_id | string | false | none | Client ID of the application that will be used to access users API, could be found in application settings. |
client_secret | string | false | none | Client secret users API accessing application, could be found in application settings under "Credentials" tab. |
mycujoo.identity.v1.Auth0Integration
{
"domain": "string",
"management_webhook_url": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
domain | string | false | none | none |
management_webhook_url | string | false | none | none |
mycujoo.identity.v1.CreateIdentityTokenRequest
{
"identity_id": "string",
"is_admin": true,
"is_test_identity": true
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
identity_id | string | true | none | none |
is_admin | boolean | false | none | none |
is_test_identity | boolean | false | none | Flag that indicates that this is a tester user. Orders created by tester users will be marked as test ones. |
mycujoo.identity.v1.CreateIdentityTokenResponse
{
"token": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
token | string | false | none | none |
mycujoo.identity.v1.GetIdentityResponse
{
"identity": {
"create_time": "2019-08-24T14:15:22Z",
"email": "string",
"id": "string",
"name": "string",
"provider": "PROVIDER_TYPE_UNSPECIFIED",
"tenant_id": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
identity | mycujoo.identity.v1.Identity | false | none | none |
mycujoo.identity.v1.Identity
{
"create_time": "2019-08-24T14:15:22Z",
"email": "string",
"id": "string",
"name": "string",
"provider": "PROVIDER_TYPE_UNSPECIFIED",
"tenant_id": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
create_time | string(date-time) | false | none | none |
string | false | none | none | |
id | string | false | none | none |
name | string | false | none | none |
provider | mycujoo.identity.v1.ProviderType | false | none | none |
tenant_id | string | false | none | none |
mycujoo.identity.v1.ListAuth0IntegrationsResponse
{
"integrations": [
{
"domain": "string",
"management_webhook_url": "string"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
integrations | [mycujoo.identity.v1.Auth0Integration] | false | none | none |
mycujoo.identity.v1.ListIdentitiesResponse
{
"identities": [
{
"create_time": "2019-08-24T14:15:22Z",
"email": "string",
"id": "string",
"name": "string",
"provider": "PROVIDER_TYPE_UNSPECIFIED",
"tenant_id": "string"
}
],
"next_page_token": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
identities | [mycujoo.identity.v1.Identity] | false | none | none |
next_page_token | string | false | none | none |
mycujoo.identity.v1.ListProvidersResponse
{
"providers": [
{
"tenant_id": "string",
"type": "PROVIDER_TYPE_UNSPECIFIED"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
providers | [mycujoo.identity.v1.Provider] | false | none | none |
mycujoo.identity.v1.ListUserfrontIntegrationsResponse
{
"integrations": [
{
"admin_role_id": "string",
"public_key": "string",
"tenant_id": "string",
"tester_role_id": "string",
"user_delete_webhook_url": "string"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
integrations | [mycujoo.identity.v1.UserfrontIntegration] | false | none | none |
mycujoo.identity.v1.Provider
{
"tenant_id": "string",
"type": "PROVIDER_TYPE_UNSPECIFIED"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
tenant_id | string | false | none | none |
type | mycujoo.identity.v1.ProviderType | false | none | none |
mycujoo.identity.v1.ProviderType
"PROVIDER_TYPE_UNSPECIFIED"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | PROVIDER_TYPE_UNSPECIFIED |
anonymous | PROVIDER_TYPE_AUTH0 |
anonymous | PROVIDER_TYPE_USERFRONT |
mycujoo.identity.v1.UpsertAuth0IntegrationResponse
{}
Properties
None
mycujoo.identity.v1.UpsertUserfrontIntegrationResponse
{}
Properties
None
mycujoo.identity.v1.UserfrontIntegration
{
"admin_role_id": "string",
"public_key": "string",
"tenant_id": "string",
"tester_role_id": "string",
"user_delete_webhook_url": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
admin_role_id | string | false | none | none |
public_key | string | false | none | none |
tenant_id | string | false | none | none |
tester_role_id | string | false | none | none |
user_delete_webhook_url | string | false | none | none |
mycujoo.integrations.v1beta1.CreateRequest
{
"source": "SOURCE_UNSPECIFIED",
"target": {
"google_cloud_pub_sub": {
"project_id": "string",
"service_account_json": "string",
"topic_id": "string"
},
"webhook": {
"headers": {
"authorization": "Basic YWxhZGRpbjpvcGVuc2VzYW1l"
},
"params": {
"src": "mcls"
},
"url": "https://domain.com/events"
}
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
source | mycujoo.integrations.v1beta1.Integration.Source | false | none | - SOURCE_EVENTS: SOURCE_EVENTS sends an update whenever event gets updated - SOURCE_STREAM: SOURCE_STREAM sends an update whenever stream gets updated - SOURCE_STREAM_URL: SOURCE_STREAM_URL sends an update whenever stream URL gets updated - SOURCE_GEOFENCE: SOURCE_GEOFENCE sends an update whenever geofence settings gets updated Geofence subject_id is mapped to id in message payload- SOURCE_SUBSCRIPTION_PACKAGE: SOURCE_SUBSCRIPTION_PACKAGE sends an update whenever subscription package gets updated - SOURCE_ANNOTATION: SOURCE_ANNOTATIONS sends an update whenever annotation gets updated - SOURCE_ANNOTATION_TYPE: SOURCE_ANNOTATION_TYPE sends an update whenever annotation type gets updated - SOURCE_ASSET: SOURCE_ASSET sends an update whenever asset gets updated |
target | mycujoo.integrations.v1beta1.Integration.Target | false | none | none |
mycujoo.integrations.v1beta1.CreateResponse
{
"integration": {
"create_time": "2019-08-24T14:15:22Z",
"id": "string",
"source": "SOURCE_UNSPECIFIED",
"target": {
"google_cloud_pub_sub": {
"project_id": "string",
"service_account_json": "string",
"topic_id": "string"
},
"webhook": {
"headers": {
"authorization": "Basic YWxhZGRpbjpvcGVuc2VzYW1l"
},
"params": {
"src": "mcls"
},
"url": "https://domain.com/events"
}
}
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
integration | mycujoo.integrations.v1beta1.Integration | false | none | Integration is a configuration of an automated message sent to the target whenever source is updated. The payload is a JSON object that contains the ID and the type of associated object. Payload is the same for all target types. Example payload: { "id": "1zMEuo4h93Ur1QGZdhrd5nGwIv6", "type": "stream_url" } Regardless of integration target type, for each message that is sent integration awaits its successful response from the target. The timeout for the response is 10s and after that time request is considered as failed. If there is no successful response or timeout is reached, request is retried exponentially up to 1 minute. If there is still no succesful response from the target, failed request is ignored and next message is processed. Example sequence: 1. 0.0046s 2. 1.1189s 3. 3.2849s 4. 5.9132s 5. 9.0846s 6. 13.7728s 7. 22.7921s 8. 29.2406s 9. 40.4653s 10. 55.7732s |
mycujoo.integrations.v1beta1.DeleteResponse
{}
Properties
None
mycujoo.integrations.v1beta1.GetResponse
{
"integration": {
"create_time": "2019-08-24T14:15:22Z",
"id": "string",
"source": "SOURCE_UNSPECIFIED",
"target": {
"google_cloud_pub_sub": {
"project_id": "string",
"service_account_json": "string",
"topic_id": "string"
},
"webhook": {
"headers": {
"authorization": "Basic YWxhZGRpbjpvcGVuc2VzYW1l"
},
"params": {
"src": "mcls"
},
"url": "https://domain.com/events"
}
}
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
integration | mycujoo.integrations.v1beta1.Integration | false | none | Integration is a configuration of an automated message sent to the target whenever source is updated. The payload is a JSON object that contains the ID and the type of associated object. Payload is the same for all target types. Example payload: { "id": "1zMEuo4h93Ur1QGZdhrd5nGwIv6", "type": "stream_url" } Regardless of integration target type, for each message that is sent integration awaits its successful response from the target. The timeout for the response is 10s and after that time request is considered as failed. If there is no successful response or timeout is reached, request is retried exponentially up to 1 minute. If there is still no succesful response from the target, failed request is ignored and next message is processed. Example sequence: 1. 0.0046s 2. 1.1189s 3. 3.2849s 4. 5.9132s 5. 9.0846s 6. 13.7728s 7. 22.7921s 8. 29.2406s 9. 40.4653s 10. 55.7732s |
mycujoo.integrations.v1beta1.GoogleCloudPubSub
{
"project_id": "string",
"service_account_json": "string",
"topic_id": "string"
}
Google Cloud Pub/Sub integration publishes messages to configured topic id
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
project_id | string | false | none | none |
service_account_json | string | false | none | none |
topic_id | string | true | none | none |
mycujoo.integrations.v1beta1.Integration
{
"create_time": "2019-08-24T14:15:22Z",
"id": "string",
"source": "SOURCE_UNSPECIFIED",
"target": {
"google_cloud_pub_sub": {
"project_id": "string",
"service_account_json": "string",
"topic_id": "string"
},
"webhook": {
"headers": {
"authorization": "Basic YWxhZGRpbjpvcGVuc2VzYW1l"
},
"params": {
"src": "mcls"
},
"url": "https://domain.com/events"
}
}
}
Integration is a configuration of an automated message sent to the target whenever source is updated. The payload is a JSON object that contains the ID and the type of associated object. Payload is the same for all target types.
Example payload: { "id": "1zMEuo4h93Ur1QGZdhrd5nGwIv6", "type": "stream_url" }
Regardless of integration target type, for each message that is sent integration awaits its successful response from the target. The timeout for the response is 10s and after that time request is considered as failed. If there is no successful response or timeout is reached, request is retried exponentially up to 1 minute. If there is still no succesful response from the target, failed request is ignored and next message is processed.
Example sequence: 1. 0.0046s 2. 1.1189s 3. 3.2849s 4. 5.9132s 5. 9.0846s 6. 13.7728s 7. 22.7921s 8. 29.2406s 9. 40.4653s 10. 55.7732s
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
create_time | string(date-time) | false | none | none |
id | string | false | none | none |
source | mycujoo.integrations.v1beta1.Integration.Source | false | none | - SOURCE_EVENTS: SOURCE_EVENTS sends an update whenever event gets updated - SOURCE_STREAM: SOURCE_STREAM sends an update whenever stream gets updated - SOURCE_STREAM_URL: SOURCE_STREAM_URL sends an update whenever stream URL gets updated - SOURCE_GEOFENCE: SOURCE_GEOFENCE sends an update whenever geofence settings gets updated Geofence subject_id is mapped to id in message payload- SOURCE_SUBSCRIPTION_PACKAGE: SOURCE_SUBSCRIPTION_PACKAGE sends an update whenever subscription package gets updated - SOURCE_ANNOTATION: SOURCE_ANNOTATIONS sends an update whenever annotation gets updated - SOURCE_ANNOTATION_TYPE: SOURCE_ANNOTATION_TYPE sends an update whenever annotation type gets updated - SOURCE_ASSET: SOURCE_ASSET sends an update whenever asset gets updated |
target | mycujoo.integrations.v1beta1.Integration.Target | false | none | none |
mycujoo.integrations.v1beta1.Integration.Source
"SOURCE_UNSPECIFIED"
Source is a list of available data sources to use in integration
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Source is a list of available data sources to use in integration | string | false | none | - SOURCE_EVENTS: SOURCE_EVENTS sends an update whenever event gets updated - SOURCE_STREAM: SOURCE_STREAM sends an update whenever stream gets updated - SOURCE_STREAM_URL: SOURCE_STREAM_URL sends an update whenever stream URL gets updated - SOURCE_GEOFENCE: SOURCE_GEOFENCE sends an update whenever geofence settings gets updated Geofence subject_id is mapped to id in message payload- SOURCE_SUBSCRIPTION_PACKAGE: SOURCE_SUBSCRIPTION_PACKAGE sends an update whenever subscription package gets updated - SOURCE_ANNOTATION: SOURCE_ANNOTATIONS sends an update whenever annotation gets updated - SOURCE_ANNOTATION_TYPE: SOURCE_ANNOTATION_TYPE sends an update whenever annotation type gets updated - SOURCE_ASSET: SOURCE_ASSET sends an update whenever asset gets updated |
Enumerated Values
Property | Value |
---|---|
Source is a list of available data sources to use in integration | SOURCE_UNSPECIFIED |
Source is a list of available data sources to use in integration | SOURCE_EVENTS |
Source is a list of available data sources to use in integration | SOURCE_STREAM |
Source is a list of available data sources to use in integration | SOURCE_STREAM_URL |
Source is a list of available data sources to use in integration | SOURCE_GEOFENCE |
Source is a list of available data sources to use in integration | SOURCE_SUBSCRIPTION_PACKAGE |
Source is a list of available data sources to use in integration | SOURCE_ANNOTATION |
Source is a list of available data sources to use in integration | SOURCE_ANNOTATION_TYPE |
Source is a list of available data sources to use in integration | SOURCE_ASSET |
mycujoo.integrations.v1beta1.Integration.Target
{
"google_cloud_pub_sub": {
"project_id": "string",
"service_account_json": "string",
"topic_id": "string"
},
"webhook": {
"headers": {
"authorization": "Basic YWxhZGRpbjpvcGVuc2VzYW1l"
},
"params": {
"src": "mcls"
},
"url": "https://domain.com/events"
}
}
Target is a list of available targets to use in integration
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
google_cloud_pub_sub | mycujoo.integrations.v1beta1.GoogleCloudPubSub | false | none | none |
webhook | mycujoo.integrations.v1beta1.Webhook | false | none | none |
mycujoo.integrations.v1beta1.ListRequest.Order
"ORDER_UNSPECIFIED"
An enum value that indicates results order in the response
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
An enum value that indicates results order in the response | string | false | none | - ORDER_CREATE_TIME_ASC: Results sorted by create time ascending - ORDER_CREATE_TIME_DESC: Results sorted by create time descending |
Enumerated Values
Property | Value |
---|---|
An enum value that indicates results order in the response | ORDER_UNSPECIFIED |
An enum value that indicates results order in the response | ORDER_CREATE_TIME_ASC |
An enum value that indicates results order in the response | ORDER_CREATE_TIME_DESC |
mycujoo.integrations.v1beta1.ListResponse
{
"integrations": [
{
"create_time": "2019-08-24T14:15:22Z",
"id": "string",
"source": "SOURCE_UNSPECIFIED",
"target": {
"google_cloud_pub_sub": {
"project_id": "string",
"service_account_json": "string",
"topic_id": "string"
},
"webhook": {
"headers": {
"authorization": "Basic YWxhZGRpbjpvcGVuc2VzYW1l"
},
"params": {
"src": "mcls"
},
"url": "https://domain.com/events"
}
}
}
],
"next_page_token": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
integrations | [mycujoo.integrations.v1beta1.Integration] | false | none | [Integration is a configuration of an automated message sent to the target whenever source is updated. The payload is a JSON object that contains the ID and the type of associated object. Payload is the same for all target types. Example payload: { "id": "1zMEuo4h93Ur1QGZdhrd5nGwIv6", "type": "stream_url" } Regardless of integration target type, for each message that is sent integration awaits its successful response from the target. The timeout for the response is 10s and after that time request is considered as failed. If there is no successful response or timeout is reached, request is retried exponentially up to 1 minute. If there is still no succesful response from the target, failed request is ignored and next message is processed. Example sequence: 1. 0.0046s 2. 1.1189s 3. 3.2849s 4. 5.9132s 5. 9.0846s 6. 13.7728s 7. 22.7921s 8. 29.2406s 9. 40.4653s 10. 55.7732s] |
next_page_token | string | false | none | none |
mycujoo.integrations.v1beta1.UpdateRequest.UpdateFields
{
"source": "SOURCE_UNSPECIFIED",
"target": {
"google_cloud_pub_sub": {
"project_id": "string",
"service_account_json": "string",
"topic_id": "string"
},
"webhook": {
"headers": {
"authorization": "Basic YWxhZGRpbjpvcGVuc2VzYW1l"
},
"params": {
"src": "mcls"
},
"url": "https://domain.com/events"
}
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
source | mycujoo.integrations.v1beta1.Integration.Source | false | none | - SOURCE_EVENTS: SOURCE_EVENTS sends an update whenever event gets updated - SOURCE_STREAM: SOURCE_STREAM sends an update whenever stream gets updated - SOURCE_STREAM_URL: SOURCE_STREAM_URL sends an update whenever stream URL gets updated - SOURCE_GEOFENCE: SOURCE_GEOFENCE sends an update whenever geofence settings gets updated Geofence subject_id is mapped to id in message payload- SOURCE_SUBSCRIPTION_PACKAGE: SOURCE_SUBSCRIPTION_PACKAGE sends an update whenever subscription package gets updated - SOURCE_ANNOTATION: SOURCE_ANNOTATIONS sends an update whenever annotation gets updated - SOURCE_ANNOTATION_TYPE: SOURCE_ANNOTATION_TYPE sends an update whenever annotation type gets updated - SOURCE_ASSET: SOURCE_ASSET sends an update whenever asset gets updated |
target | mycujoo.integrations.v1beta1.Integration.Target | false | none | none |
mycujoo.integrations.v1beta1.UpdateResponse
{
"integration": {
"create_time": "2019-08-24T14:15:22Z",
"id": "string",
"source": "SOURCE_UNSPECIFIED",
"target": {
"google_cloud_pub_sub": {
"project_id": "string",
"service_account_json": "string",
"topic_id": "string"
},
"webhook": {
"headers": {
"authorization": "Basic YWxhZGRpbjpvcGVuc2VzYW1l"
},
"params": {
"src": "mcls"
},
"url": "https://domain.com/events"
}
}
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
integration | mycujoo.integrations.v1beta1.Integration | false | none | Integration is a configuration of an automated message sent to the target whenever source is updated. The payload is a JSON object that contains the ID and the type of associated object. Payload is the same for all target types. Example payload: { "id": "1zMEuo4h93Ur1QGZdhrd5nGwIv6", "type": "stream_url" } Regardless of integration target type, for each message that is sent integration awaits its successful response from the target. The timeout for the response is 10s and after that time request is considered as failed. If there is no successful response or timeout is reached, request is retried exponentially up to 1 minute. If there is still no succesful response from the target, failed request is ignored and next message is processed. Example sequence: 1. 0.0046s 2. 1.1189s 3. 3.2849s 4. 5.9132s 5. 9.0846s 6. 13.7728s 7. 22.7921s 8. 29.2406s 9. 40.4653s 10. 55.7732s |
mycujoo.integrations.v1beta1.Webhook
{
"headers": {
"authorization": "Basic YWxhZGRpbjpvcGVuc2VzYW1l"
},
"params": {
"src": "mcls"
},
"url": "https://domain.com/events"
}
Webhook is a HTTP request that is send with configured headers and params to specified URL
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
headers | object | false | none | none |
ยป additionalProperties | string | false | none | none |
params | object | false | none | none |
ยป additionalProperties | string | false | none | none |
url | string | false | none | none |
mycujoo.metadata.v1.CreateDataRequest
{
"data": {
"competitionName": {
"string": "Champions League"
},
"team": {
"name": "Legia Warsaw",
"players": [
"Marek Saganowski"
]
},
"title": "Final 2020"
},
"schema_id": "1do8zuDeZKfh2YSgzd2ek69jhOY"
}
Request to store data
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
data | object | true | none | none |
schema_id | string | true | none | none |
mycujoo.metadata.v1.CreateDataResponse
{
"data": {
"competitionName": {
"string": "Champions League"
},
"team": {
"name": "Legia Warsaw",
"players": [
"Marek Saganowski"
]
},
"title": "Final 2020"
},
"id": "ck9be30x30lnk1cmsengq2tq2"
}
Response of data store request
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
data | object | false | none | none |
id | string | false | none | none |
mycujoo.metadata.v1.CreateSchemaResponse
{
"id": "ck9be30x30lnk1cmsengq2tq2"
}
Response of create schema request
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | none |
mycujoo.metadata.v1.DeleteDataResponse
{
"id": "ck9be30x30lnk1cmsengq2tq2"
}
Response of delete data request
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | none |
mycujoo.metadata.v1.DeleteSchemaResponse
{
"id": "ck9be30x30lnk1cmsengq2tq2"
}
Response of delete schema request
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | none |
mycujoo.metadata.v1.GetDataResponse
{
"data": {
"competitionName": {
"string": "Champions League"
},
"team": {
"name": "Legia Warsaw",
"players": [
"Marek Saganowski"
]
},
"title": "Final 2020"
},
"schema_id": "1do8zuDeZKfh2YSgzd2ek69jhOY"
}
Response of get data request
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
data | object | false | none | none |
schema_id | string | false | none | none |
mycujoo.metadata.v1.GetSchemaIamPolicyResponse
{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
},
"resource_hierarchy": [
{
"id": "elevendata",
"type": "project"
}
],
"resource_title": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
etag | string(byte) | false | none | none |
policy | mycujoo.auth.v1.Policy | false | none | Authorization policy. |
resource_hierarchy | [mycujoo.auth.v1.Resource] | false | none | [Resource object reference that is used to represent objects in the IAM system.] |
resource_title | string | false | none | none |
mycujoo.metadata.v1.GetSchemaResponse
{
"schema": {
"fields": [
{
"name": "title",
"type": "string"
},
{
"name": "competitionName",
"type": [
"null",
"string"
]
},
{
"name": "team",
"type": {
"fields": [
{
"name": "name",
"type": "string"
},
{
"name": "players",
"type": {
"default": [],
"items": "string",
"type": "array"
}
}
],
"name": "recordTeam",
"type": "record"
}
}
],
"id": "1do8zuDeZKfh2YSgzd2ek69jhOY",
"title": "test schema"
}
}
Response of get schema request
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
schema | mycujoo.metadata.v1.Schema | false | none | none |
mycujoo.metadata.v1.ListSchemasRequest.Order
"ORDER_UNSPECIFIED"
- ORDER_UNSPECIFIED: When order is unspecified it defaults to creation time descending
- ORDER_CREATED_AT_ASC: Results sorted by creation time ascending
- ORDER_CREATED_AT_DESC: Results sorted by creation time descending
- ORDER_ALPHABETICAL_ASC: Results sorted by title from A-Z
- ORDER_ALPHABETICAL_DESC: Results sorted by title from Z-A
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
- ORDER_UNSPECIFIED: When order is unspecified it defaults to creation time descending |
- ORDER_CREATED_AT_ASC: Results sorted by creation time ascending
- ORDER_CREATED_AT_DESC: Results sorted by creation time descending
- ORDER_ALPHABETICAL_ASC: Results sorted by title from A-Z
- ORDER_ALPHABETICAL_DESC: Results sorted by title from Z-A|string|false|none|none|
Enumerated Values
Property | Value |
---|---|
- ORDER_UNSPECIFIED: When order is unspecified it defaults to creation time descending |
- ORDER_CREATED_AT_ASC: Results sorted by creation time ascending
- ORDER_CREATED_AT_DESC: Results sorted by creation time descending
- ORDER_ALPHABETICAL_ASC: Results sorted by title from A-Z
- ORDER_ALPHABETICAL_DESC: Results sorted by title from Z-A|ORDER_UNSPECIFIED| |- ORDER_UNSPECIFIED: When order is unspecified it defaults to creation time descending
- ORDER_CREATED_AT_ASC: Results sorted by creation time ascending
- ORDER_CREATED_AT_DESC: Results sorted by creation time descending
- ORDER_ALPHABETICAL_ASC: Results sorted by title from A-Z
- ORDER_ALPHABETICAL_DESC: Results sorted by title from Z-A|ORDER_CREATED_AT_ASC| |- ORDER_UNSPECIFIED: When order is unspecified it defaults to creation time descending
- ORDER_CREATED_AT_ASC: Results sorted by creation time ascending
- ORDER_CREATED_AT_DESC: Results sorted by creation time descending
- ORDER_ALPHABETICAL_ASC: Results sorted by title from A-Z
- ORDER_ALPHABETICAL_DESC: Results sorted by title from Z-A|ORDER_CREATED_AT_DESC| |- ORDER_UNSPECIFIED: When order is unspecified it defaults to creation time descending
- ORDER_CREATED_AT_ASC: Results sorted by creation time ascending
- ORDER_CREATED_AT_DESC: Results sorted by creation time descending
- ORDER_ALPHABETICAL_ASC: Results sorted by title from A-Z
- ORDER_ALPHABETICAL_DESC: Results sorted by title from Z-A|ORDER_ALPHABETICAL_ASC| |- ORDER_UNSPECIFIED: When order is unspecified it defaults to creation time descending
- ORDER_CREATED_AT_ASC: Results sorted by creation time ascending
- ORDER_CREATED_AT_DESC: Results sorted by creation time descending
- ORDER_ALPHABETICAL_ASC: Results sorted by title from A-Z
- ORDER_ALPHABETICAL_DESC: Results sorted by title from Z-A|ORDER_ALPHABETICAL_DESC|
mycujoo.metadata.v1.ListSchemasResponse
{
"schemas": [
{
"id": "1do8zuDeZKfh2YSgzd2ek69jhOY",
"title": "test schema"
}
]
}
Response of list request
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
next_page_token | string | false | none | none |
previous_page_token | string | false | none | none |
schemas | [mycujoo.metadata.v1.Schema] | false | none | none |
mycujoo.metadata.v1.Schema
{
"custom_editor_url": "string",
"fields": [
{}
],
"id": "string",
"indexable_paths": [
"string"
],
"resource_type": "SCHEMA_RESOURCE_TYPE_UNSPECIFIED",
"searchable_paths": [
"string"
],
"title": "string",
"visibility": "SCHEMA_VISIBILITY_UNSPECIFIED"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
custom_editor_url | string | false | none | none |
fields | [object] | false | none | none |
id | string | false | read-only | none |
indexable_paths | [string] | false | none | none |
resource_type | mycujoo.metadata.v1.SchemaResourceType | false | none | none |
searchable_paths | [string] | false | none | none |
title | string | false | none | none |
visibility | mycujoo.metadata.v1.SchemaVisibility | false | none | none |
mycujoo.metadata.v1.SchemaResourceType
"SCHEMA_RESOURCE_TYPE_UNSPECIFIED"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | SCHEMA_RESOURCE_TYPE_UNSPECIFIED |
anonymous | SCHEMA_RESOURCE_TYPE_EVENT_TYPE |
anonymous | SCHEMA_RESOURCE_TYPE_ACTION |
mycujoo.metadata.v1.SchemaVisibility
"SCHEMA_VISIBILITY_UNSPECIFIED"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | SCHEMA_VISIBILITY_UNSPECIFIED |
anonymous | SCHEMA_VISIBILITY_PUBLISHED |
anonymous | SCHEMA_VISIBILITY_UNLISTED |
anonymous | SCHEMA_VISIBILITY_HIDDEN |
mycujoo.metadata.v1.SetSchemaIamPolicyResponse
{}
When there is no error result is empty
Properties
None
mycujoo.metadata.v1.TestIamPermissionsRequest
{
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
permissions | [string] | true | none | none |
resource | mycujoo.auth.v1.Resource | true | none | Resource object reference that is used to represent objects in the IAM system. |
mycujoo.metadata.v1.TestIamPermissionsResponse
{
"permissions": [
"projects.create",
"projects.update"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
permissions | [string] | false | none | none |
resource | mycujoo.auth.v1.Resource | false | none | Resource object reference that is used to represent objects in the IAM system. |
mycujoo.metadata.v1.UpdateDataRequest.UpdateFields
{
"data": {},
"schema_id": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
data | object | false | none | none |
schema_id | string | false | none | none |
mycujoo.metadata.v1.UpdateDataResponse
{
"data": {
"competitionName": {
"string": "Champions League"
},
"team": {
"name": "Legia Warsaw",
"players": [
"Marek Saganowski"
]
},
"title": "Final 2020"
}
}
Response of data update request
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
data | object | false | none | none |
mycujoo.metadata.v1.UpdateSchemaResponse
{
"schema": {
"custom_editor_url": "string",
"fields": [
{}
],
"id": "string",
"indexable_paths": [
"string"
],
"resource_type": "SCHEMA_RESOURCE_TYPE_UNSPECIFIED",
"searchable_paths": [
"string"
],
"title": "string",
"visibility": "SCHEMA_VISIBILITY_UNSPECIFIED"
}
}
Response of schema update request
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
schema | mycujoo.metadata.v1.Schema | false | none | none |
mycujoo.metadata.v1beta1.CreateDataRequest
{
"data": {
"competitionName": {
"string": "Champions League"
},
"team": {
"name": "Legia Warsaw",
"players": [
"Marek Saganowski"
]
},
"title": "Final 2020"
},
"schema_id": "1do8zuDeZKfh2YSgzd2ek69jhOY"
}
Request to store data
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
data | object | true | none | none |
schema_id | string | true | none | none |
mycujoo.metadata.v1beta1.CreateDataResponse
{
"data": {
"competitionName": {
"string": "Champions League"
},
"team": {
"name": "Legia Warsaw",
"players": [
"Marek Saganowski"
]
},
"title": "Final 2020"
},
"id": "ck9be30x30lnk1cmsengq2tq2"
}
Response of data store request
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
data | object | false | none | none |
id | string | false | none | none |
mycujoo.metadata.v1beta1.CreateSchemaRequest
{
"fields": [
{
"name": "title",
"type": "string"
},
{
"name": "competitionName",
"type": [
"null",
"string"
]
},
{
"name": "team",
"type": {
"fields": [
{
"name": "name",
"type": "string"
},
{
"name": "players",
"type": {
"default": [],
"items": "string",
"type": "array"
}
}
],
"name": "recordTeam",
"type": "record"
}
}
],
"title": "test schema"
}
Request to create schema
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
category | string | false | none | none |
fields | [object] | true | none | none |
title | string | true | none | none |
mycujoo.metadata.v1beta1.CreateSchemaResponse
{
"id": "ck9be30x30lnk1cmsengq2tq2"
}
Response of create schema request
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | none |
mycujoo.metadata.v1beta1.DeleteDataResponse
{
"id": "ck9be30x30lnk1cmsengq2tq2"
}
Response of delete data request
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | none |
mycujoo.metadata.v1beta1.DeleteSchemaResponse
{
"id": "ck9be30x30lnk1cmsengq2tq2"
}
Response of delete schema request
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | none |
mycujoo.metadata.v1beta1.GetDataResponse
{
"data": {
"competitionName": {
"string": "Champions League"
},
"team": {
"name": "Legia Warsaw",
"players": [
"Marek Saganowski"
]
},
"title": "Final 2020"
},
"schema_id": "1do8zuDeZKfh2YSgzd2ek69jhOY"
}
Response of get data request
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
data | object | false | none | none |
schema_id | string | false | none | none |
mycujoo.metadata.v1beta1.GetRawDataResponse
{
"data": {},
"schema_id": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
data | object | false | none | none |
schema_id | string | false | none | none |
mycujoo.metadata.v1beta1.GetSchemaResponse
{
"schema": {
"fields": [
{
"name": "title",
"type": "string"
},
{
"name": "competitionName",
"type": [
"null",
"string"
]
},
{
"name": "team",
"type": {
"fields": [
{
"name": "name",
"type": "string"
},
{
"name": "players",
"type": {
"default": [],
"items": "string",
"type": "array"
}
}
],
"name": "recordTeam",
"type": "record"
}
}
],
"id": "1do8zuDeZKfh2YSgzd2ek69jhOY",
"title": "test schema"
}
}
Response of get schema request
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
schema | mycujoo.metadata.v1beta1.Schema | false | none | none |
mycujoo.metadata.v1beta1.ListSchemasRequest.Order
"ORDER_UNSPECIFIED"
- ORDER_UNSPECIFIED: When order is unspecified it defaults to creation time descending
- ORDER_CREATED_AT_ASC: Results sorted by creation time ascending
- ORDER_CREATED_AT_DESC: Results sorted by creation time descending
- ORDER_ALPHABETICAL_ASC: Results sorted by title from A-Z
- ORDER_ALPHABETICAL_DESC: Results sorted by title from Z-A
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
- ORDER_UNSPECIFIED: When order is unspecified it defaults to creation time descending |
- ORDER_CREATED_AT_ASC: Results sorted by creation time ascending
- ORDER_CREATED_AT_DESC: Results sorted by creation time descending
- ORDER_ALPHABETICAL_ASC: Results sorted by title from A-Z
- ORDER_ALPHABETICAL_DESC: Results sorted by title from Z-A|string|false|none|none|
Enumerated Values
Property | Value |
---|---|
- ORDER_UNSPECIFIED: When order is unspecified it defaults to creation time descending |
- ORDER_CREATED_AT_ASC: Results sorted by creation time ascending
- ORDER_CREATED_AT_DESC: Results sorted by creation time descending
- ORDER_ALPHABETICAL_ASC: Results sorted by title from A-Z
- ORDER_ALPHABETICAL_DESC: Results sorted by title from Z-A|ORDER_UNSPECIFIED| |- ORDER_UNSPECIFIED: When order is unspecified it defaults to creation time descending
- ORDER_CREATED_AT_ASC: Results sorted by creation time ascending
- ORDER_CREATED_AT_DESC: Results sorted by creation time descending
- ORDER_ALPHABETICAL_ASC: Results sorted by title from A-Z
- ORDER_ALPHABETICAL_DESC: Results sorted by title from Z-A|ORDER_CREATED_AT_ASC| |- ORDER_UNSPECIFIED: When order is unspecified it defaults to creation time descending
- ORDER_CREATED_AT_ASC: Results sorted by creation time ascending
- ORDER_CREATED_AT_DESC: Results sorted by creation time descending
- ORDER_ALPHABETICAL_ASC: Results sorted by title from A-Z
- ORDER_ALPHABETICAL_DESC: Results sorted by title from Z-A|ORDER_CREATED_AT_DESC| |- ORDER_UNSPECIFIED: When order is unspecified it defaults to creation time descending
- ORDER_CREATED_AT_ASC: Results sorted by creation time ascending
- ORDER_CREATED_AT_DESC: Results sorted by creation time descending
- ORDER_ALPHABETICAL_ASC: Results sorted by title from A-Z
- ORDER_ALPHABETICAL_DESC: Results sorted by title from Z-A|ORDER_ALPHABETICAL_ASC| |- ORDER_UNSPECIFIED: When order is unspecified it defaults to creation time descending
- ORDER_CREATED_AT_ASC: Results sorted by creation time ascending
- ORDER_CREATED_AT_DESC: Results sorted by creation time descending
- ORDER_ALPHABETICAL_ASC: Results sorted by title from A-Z
- ORDER_ALPHABETICAL_DESC: Results sorted by title from Z-A|ORDER_ALPHABETICAL_DESC|
mycujoo.metadata.v1beta1.ListSchemasResponse
{
"schemas": [
{
"id": "1do8zuDeZKfh2YSgzd2ek69jhOY",
"title": "test schema"
}
]
}
Response of list request
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
next_page_token | string | false | none | none |
previous_page_token | string | false | none | none |
schemas | [mycujoo.metadata.v1beta1.ListSchemasResponse.Schema] | false | none | none |
mycujoo.metadata.v1beta1.ListSchemasResponse.Schema
{
"category": "string",
"id": "string",
"title": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
category | string | false | none | none |
id | string | false | none | none |
title | string | false | none | none |
mycujoo.metadata.v1beta1.Schema
{
"category": "string",
"fields": [
{}
],
"id": "string",
"title": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
category | string | false | none | none |
fields | [object] | false | none | none |
id | string | false | none | none |
title | string | false | none | none |
mycujoo.metadata.v1beta1.UpdateDataRequest.UpdateFields
{
"data": {},
"schema_id": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
data | object | false | none | none |
schema_id | string | false | none | none |
mycujoo.metadata.v1beta1.UpdateDataResponse
{
"data": {
"competitionName": {
"string": "Champions League"
},
"team": {
"name": "Legia Warsaw",
"players": [
"Marek Saganowski"
]
},
"title": "Final 2020"
}
}
Response of data update request
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
data | object | false | none | none |
mycujoo.metadata.v1beta1.UpdateSchemaRequest.UpdateFields
{
"fields": [
{
"name": "title",
"type": "string"
}
],
"title": "Final 2021"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
category | string | false | none | none |
fields | [object] | false | none | none |
title | string | false | none | none |
mycujoo.metadata.v1beta1.UpdateSchemaResponse
{
"schema": {
"category": "string",
"fields": [
{}
],
"id": "string",
"title": "string"
}
}
Response of schema update request
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
schema | mycujoo.metadata.v1beta1.Schema | false | none | none |
mycujoo.organizations.v1.CreateOrganizationRequest
{
"display_name": "string",
"org_id": "string",
"owner": {
"email": "string",
"first_name": "string",
"id": "string",
"is_verified": true,
"last_name": "string"
},
"owner_password": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
display_name | string | false | none | none |
org_id | string | true | none | Human readable, slug-compatible short identifier, like "cbf" or "live-mode" Must be unique and also with existing projects IDs. |
owner | mycujoo.accounts.v1.Account | true | none | none |
owner_password | string | true | none | Owner password must be at least 8 characters, at most 100, contain at least one alpha and one number or special char. No more than 3 repeating characters. |
mycujoo.organizations.v1.CreateOrganizationResponse
{
"organization": {
"content_delivery_settings": {
"embed_domains": [
"string"
],
"public_keys": [
"string"
]
},
"display_name": "string",
"id": "string",
"is_enabled": true,
"owner_id": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
organization | mycujoo.organizations.v1.Organization | false | none | none |
mycujoo.organizations.v1.GetIamPolicyResponse
{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
},
"resource_hierarchy": [
{
"id": "elevendata",
"type": "project"
}
],
"resource_title": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
etag | string(byte) | false | none | none |
policy | mycujoo.auth.v1.Policy | false | none | Authorization policy. |
resource_hierarchy | [mycujoo.auth.v1.Resource] | false | none | [Resource object reference that is used to represent objects in the IAM system.] |
resource_title | string | false | none | none |
mycujoo.organizations.v1.GetOrganizationResponse
{
"organization": {
"content_delivery_settings": {
"embed_domains": [
"string"
],
"public_keys": [
"string"
]
},
"display_name": "string",
"id": "string",
"is_enabled": true,
"owner_id": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
organization | mycujoo.organizations.v1.Organization | false | none | none |
mycujoo.organizations.v1.Organization
{
"content_delivery_settings": {
"embed_domains": [
"string"
],
"public_keys": [
"string"
]
},
"display_name": "string",
"id": "string",
"is_enabled": true,
"owner_id": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
content_delivery_settings | mycujoo.organizations.v1.Organization.ContentDeliverySettings | false | none | none |
display_name | string | false | none | none |
id | string | false | none | Human readable, slug-compatible short identifier, like "cbf" or "live-mode" Must be unique across organizations and projects IDs. |
is_enabled | boolean | false | none | is_enabled is a flag that indicates whether the organization is enabled. some services are not available for disabled organizations. |
owner_id | string | false | none | none |
mycujoo.organizations.v1.Organization.ContentDeliverySettings
{
"embed_domains": [
"string"
],
"public_keys": [
"string"
]
}
Settings relevant for the SDK clients
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
embed_domains | [string] | false | none | none |
public_keys | [string] | false | none | none |
mycujoo.organizations.v1.OrganizationUpdateFields
{
"display_name": "string",
"embed_domains": [
"string"
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
display_name | string | false | none | none |
embed_domains | [string] | false | none | none |
mycujoo.organizations.v1.SetIamPolicyResponse
{}
When there is no error result is empty
Properties
None
mycujoo.organizations.v1.TestIamPermissionsRequest
{
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
permissions | [string] | true | none | none |
resource | mycujoo.auth.v1.Resource | true | none | Resource object reference that is used to represent objects in the IAM system. |
mycujoo.organizations.v1.TestIamPermissionsResponse
{
"permissions": [
"projects.create",
"projects.update"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
permissions | [string] | false | none | none |
resource | mycujoo.auth.v1.Resource | false | none | Resource object reference that is used to represent objects in the IAM system. |
mycujoo.organizations.v1.UpdateOrganizationResponse
{}
Properties
None
mycujoo.packages.v1beta1.BatchGetPackagesRequest
{
"ids": [
"string"
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ids | [string] | true | none | none |
mycujoo.packages.v1beta1.BatchGetPackagesResponse
{
"packages": [
{
"concurrency_limit": 0,
"create_time": "2019-08-24T14:15:22Z",
"description": "string",
"end_time": "2019-08-24T14:15:22Z",
"id": "string",
"metadata_references": [
{
"key": "string",
"value": "string"
}
],
"name": "string",
"start_time": "2019-08-24T14:15:22Z"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
packages | [mycujoo.packages.v1beta1.Package] | false | none | [Package is a access protected one or many contents that user can pay for.] |
mycujoo.packages.v1beta1.CreatePackageRequest
{
"concurrency_limit": 0,
"description": "string",
"end_time": "2019-08-24T14:15:22Z",
"metadata_references": [
{
"key": "string",
"value": "string"
}
],
"name": "string",
"start_time": "2019-08-24T14:15:22Z"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
concurrency_limit | integer(int32) | false | none | The number of video streams that a specific user can watch at any given time. Defaults to 0 which means that there is no limit. |
description | string | false | none | Description of the package that holds more detailed information about what package provides. |
end_time | string(date-time) | false | none | none |
metadata_references | [mycujoo.packages.v1beta1.Package.MetadataReference] | true | none | [Event's metadata selector pointing to what content belongs to the package.] |
name | string | true | none | Full name of the package that can be used as a page title. |
start_time | string(date-time) | false | none | none |
mycujoo.packages.v1beta1.CreatePackageResponse
{
"package": {
"concurrency_limit": 0,
"create_time": "2019-08-24T14:15:22Z",
"description": "string",
"end_time": "2019-08-24T14:15:22Z",
"id": "string",
"metadata_references": [
{
"key": "string",
"value": "string"
}
],
"name": "string",
"start_time": "2019-08-24T14:15:22Z"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
package | mycujoo.packages.v1beta1.Package | false | none | Package is a access protected one or many contents that user can pay for. |
mycujoo.packages.v1beta1.DeletePackageResponse
{}
Properties
None
mycujoo.packages.v1beta1.GetPackageIamPolicyResponse
{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
},
"resource_hierarchy": [
{
"id": "elevendata",
"type": "project"
}
],
"resource_title": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
etag | string(byte) | false | none | none |
policy | mycujoo.auth.v1.Policy | false | none | Authorization policy. |
resource_hierarchy | [mycujoo.auth.v1.Resource] | false | none | [Resource object reference that is used to represent objects in the IAM system.] |
resource_title | string | false | none | none |
mycujoo.packages.v1beta1.GetPackageResponse
{
"package": {
"concurrency_limit": 0,
"create_time": "2019-08-24T14:15:22Z",
"description": "string",
"end_time": "2019-08-24T14:15:22Z",
"id": "string",
"metadata_references": [
{
"key": "string",
"value": "string"
}
],
"name": "string",
"start_time": "2019-08-24T14:15:22Z"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
package | mycujoo.packages.v1beta1.Package | false | none | Package is a access protected one or many contents that user can pay for. |
mycujoo.packages.v1beta1.ListPackagesRequest.Include
"INCLUDE_UNSPECIFIED"
An enum value that indicates additional data to be included in the response
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
An enum value that indicates additional data to be included in the response | string | false | none | - INCLUDE_TOTAL_SIZE: When included, response will contain metadata about total number of available results irrespective of pagination |
Enumerated Values
Property | Value |
---|---|
An enum value that indicates additional data to be included in the response | INCLUDE_UNSPECIFIED |
An enum value that indicates additional data to be included in the response | INCLUDE_TOTAL_SIZE |
mycujoo.packages.v1beta1.ListPackagesRequest.Order
"ORDER_UNSPECIFIED"
An enum value that indicates results order in the response
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
An enum value that indicates results order in the response | string | false | none | - ORDER_UNSPECIFIED: When order is unspecified it defaults to create time descending - ORDER_CREATE_TIME_ASC: Results sorted by time of creation ascending - ORDER_CREATE_TIME_DESC: Results sorted by time of creation descending |
Enumerated Values
Property | Value |
---|---|
An enum value that indicates results order in the response | ORDER_UNSPECIFIED |
An enum value that indicates results order in the response | ORDER_CREATE_TIME_ASC |
An enum value that indicates results order in the response | ORDER_CREATE_TIME_DESC |
mycujoo.packages.v1beta1.ListPackagesResponse
{
"next_page_token": "string",
"packages": [
{
"concurrency_limit": 0,
"create_time": "2019-08-24T14:15:22Z",
"description": "string",
"end_time": "2019-08-24T14:15:22Z",
"id": "string",
"metadata_references": [
{
"key": "string",
"value": "string"
}
],
"name": "string",
"start_time": "2019-08-24T14:15:22Z"
}
],
"total_size": 0
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
next_page_token | string | false | none | none |
packages | [mycujoo.packages.v1beta1.Package] | false | none | [Package is a access protected one or many contents that user can pay for.] |
total_size | integer(int32) | false | none | The total amount of items in the list irrespective of pagination. Will be present only when request 'include' field ask for it. |
mycujoo.packages.v1beta1.Package
{
"concurrency_limit": 0,
"create_time": "2019-08-24T14:15:22Z",
"description": "string",
"end_time": "2019-08-24T14:15:22Z",
"id": "string",
"metadata_references": [
{
"key": "string",
"value": "string"
}
],
"name": "string",
"start_time": "2019-08-24T14:15:22Z"
}
Package is a access protected one or many contents that user can pay for.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
concurrency_limit | integer(int32) | false | none | The number of video streams that a specific user can watch at any given time. Defaults to 0 which means that there is no limit. |
create_time | string(date-time) | true | none | Time of creation. Cannot be set. |
description | string | false | none | Description of the package that holds more detailed information about what package provides. |
end_time | string(date-time) | false | none | none |
id | string | false | read-only | Auto generated unique ID of the package. Cannot be set. |
metadata_references | [mycujoo.packages.v1beta1.Package.MetadataReference] | true | none | [Event's metadata selector pointing to what content belongs to the package.] |
name | string | true | none | Full name of the package that can be used as a page title. |
start_time | string(date-time) | false | none | none |
mycujoo.packages.v1beta1.Package.MetadataReference
{
"key": "string",
"value": "string"
}
Event's metadata selector pointing to what content belongs to the package.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
key | string | true | none | none |
value | string | true | none | none |
mycujoo.packages.v1beta1.SetPackageIamPolicyResponse
{}
Properties
None
mycujoo.packages.v1beta1.TestIamPermissionsRequest
{
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
permissions | [string] | true | none | none |
resource | mycujoo.auth.v1.Resource | true | none | Resource object reference that is used to represent objects in the IAM system. |
mycujoo.packages.v1beta1.TestIamPermissionsResponse
{
"permissions": [
"projects.create",
"projects.update"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
permissions | [string] | false | none | none |
resource | mycujoo.auth.v1.Resource | false | none | Resource object reference that is used to represent objects in the IAM system. |
mycujoo.packages.v1beta1.UpdatePackageRequest.UpdateFields
{
"concurrency_limit": 0,
"description": "string",
"end_time": "2019-08-24T14:15:22Z",
"metadata_references": [
{
"key": "string",
"value": "string"
}
],
"name": "string",
"start_time": "2019-08-24T14:15:22Z"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
concurrency_limit | integer(int32) | false | none | The number of video streams that a specific user can watch at any given time. Defaults to 0 which means that there is no limit. |
description | string | false | none | Description of the package that holds more detailed information about what package provides. |
end_time | string(date-time) | false | none | none |
metadata_references | [mycujoo.packages.v1beta1.Package.MetadataReference] | false | none | [Event's metadata selector pointing to what content belongs to the package.] |
name | string | false | none | Full name of the package that can be used as a page title. |
start_time | string(date-time) | false | none | none |
mycujoo.packages.v1beta1.UpdatePackageResponse
{
"package": {
"concurrency_limit": 0,
"create_time": "2019-08-24T14:15:22Z",
"description": "string",
"end_time": "2019-08-24T14:15:22Z",
"id": "string",
"metadata_references": [
{
"key": "string",
"value": "string"
}
],
"name": "string",
"start_time": "2019-08-24T14:15:22Z"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
package | mycujoo.packages.v1beta1.Package | false | none | Package is a access protected one or many contents that user can pay for. |
mycujoo.playerconfig.v1beta1.GetPlayerConfigResponse
{
"player_config": {
"ima_ad_unit": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
player_config | mycujoo.playerconfig.v1beta1.PlayerConfig | false | none | none |
mycujoo.playerconfig.v1beta1.PlayerConfig
{
"ima_ad_unit": "string"
}
Configuration for a player
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ima_ad_unit | string | false | none | IMA ad unit will be used in the ad tag for preroll, midroll and postroll advertisements in the video player. |
mycujoo.playerconfig.v1beta1.UpdatePlayerConfigRequest
{
"ima_ad_unit": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ima_ad_unit | string | false | none | IMA ad unit will be used in the ad tag for preroll, midroll and postroll advertisements in the video player. |
mycujoo.playerconfig.v1beta1.UpdatePlayerConfigResponse
{}
Properties
None
mycujoo.projects.v1.ContentVisibility
"CONTENT_VISIBILITY_UNSPECIFIED"
Different visibility settings for the content
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Different visibility settings for the content | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
Different visibility settings for the content | CONTENT_VISIBILITY_UNSPECIFIED |
Different visibility settings for the content | CONTENT_VISIBILITY_PUBLISHED |
Different visibility settings for the content | CONTENT_VISIBILITY_UNLISTED |
Different visibility settings for the content | CONTENT_VISIBILITY_HIDDEN |
mycujoo.projects.v1.CreateProjectRequest
{
"display_name": "string",
"project_id": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
display_name | string | false | none | User friendly name of the project. |
project_id | string | true | none | The project ID. |
mycujoo.projects.v1.CreateProjectResponse
{
"project": {
"content_visibility": "CONTENT_VISIBILITY_UNSPECIFIED",
"display_name": "string",
"id": "string",
"is_disabled": true
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
project | mycujoo.projects.v1.Project | false | none | none |
mycujoo.projects.v1.DeleteProjectResponse
{}
Properties
None
mycujoo.projects.v1.GetIamPolicyResponse
{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
},
"resource_hierarchy": [
{
"id": "elevendata",
"type": "project"
}
],
"resource_title": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
etag | string(byte) | false | none | none |
policy | mycujoo.auth.v1.Policy | false | none | Authorization policy. |
resource_hierarchy | [mycujoo.auth.v1.Resource] | false | none | [Resource object reference that is used to represent objects in the IAM system.] |
resource_title | string | false | none | none |
mycujoo.projects.v1.GetProjectResponse
{
"project": {
"content_visibility": "CONTENT_VISIBILITY_UNSPECIFIED",
"display_name": "string",
"id": "string",
"is_disabled": true
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
project | mycujoo.projects.v1.Project | false | none | none |
mycujoo.projects.v1.ListProjectsResponse
{
"next_page_token": "string",
"projects": [
{
"content_visibility": "CONTENT_VISIBILITY_UNSPECIFIED",
"display_name": "string",
"id": "string",
"is_disabled": true
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
next_page_token | string | false | none | none |
projects | [mycujoo.projects.v1.Project] | false | none | none |
mycujoo.projects.v1.Project
{
"content_visibility": "CONTENT_VISIBILITY_UNSPECIFIED",
"display_name": "string",
"id": "string",
"is_disabled": true
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
content_visibility | mycujoo.projects.v1.ContentVisibility | false | none | none |
display_name | string | false | none | User friendly name of the project. |
id | string | false | none | The project ID. |
is_disabled | boolean | false | none | none |
mycujoo.projects.v1.SetIamPolicyResponse
{}
When there is no error result is empty
Properties
None
mycujoo.projects.v1.TestIamPermissionsRequest
{
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
permissions | [string] | true | none | none |
resource | mycujoo.auth.v1.Resource | true | none | Resource object reference that is used to represent objects in the IAM system. |
mycujoo.projects.v1.TestIamPermissionsResponse
{
"permissions": [
"projects.create",
"projects.update"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
permissions | [string] | false | none | none |
resource | mycujoo.auth.v1.Resource | false | none | Resource object reference that is used to represent objects in the IAM system. |
mycujoo.projects.v1.UpdateProjectResponse
{
"project": {
"content_visibility": "CONTENT_VISIBILITY_UNSPECIFIED",
"display_name": "string",
"id": "string",
"is_disabled": true
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
project | mycujoo.projects.v1.Project | false | none | none |
mycujoo.ratelimit.v1.Entry
{
"key": "string",
"value": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
key | string | false | none | Example keys: org_id, account_id, email, client_ip, method, ... |
value | string | false | none | Value associated with the key. For example esgp for the key org_id .Or [email protected] for the key email . |
mycujoo.ratelimit.v1.RateLimit
{
"requests_per_unit": 0,
"unit": "UNIT_UNSPECIFIED"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
requests_per_unit | integer(int32) | false | none | Maximum number of requests allowed per unit. |
unit | mycujoo.ratelimit.v1.Unit | false | none | Identifies the unit of time for rate limit. - UNIT_UNSPECIFIED: The time unit is not known. - UNIT_SECOND: The time unit representing a second. - UNIT_MINUTE: The time unit representing a minute. - UNIT_HOUR: The time unit representing an hour. - UNIT_DAY: The time unit representing a day. - UNIT_MONTH: The time unit representing a month. |
mycujoo.ratelimit.v1.RateLimitConfiguration
{
"entries": [
{
"key": "string",
"value": "string"
}
],
"limit": {
"requests_per_unit": 0,
"unit": "UNIT_UNSPECIFIED"
},
"name": "string",
"shadow_mode": true
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
entries | [mycujoo.ratelimit.v1.Entry] | false | none | none |
limit | mycujoo.ratelimit.v1.RateLimit | false | none | none |
name | string | false | none | Name of this configuration. |
shadow_mode | boolean | false | none | Shadow mode: if true, the rate-limit will be checked, but the request will not be blocked. That can be useful to test the rate-limit configuration without actually blocking requests. |
mycujoo.ratelimit.v1.ShouldRateLimitResponse
{
"status": "STATUS_UNSPECIFIED"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
status | mycujoo.ratelimit.v1.ShouldRateLimitResponse.Status | false | none | - STATUS_UNSPECIFIED: The response code is not known. - STATUS_OK: The response code to notify that the number of requests are under limit. - STATUS_OVER_LIMIT: The response code to notify that the number of requests are over limit. |
mycujoo.ratelimit.v1.ShouldRateLimitResponse.Status
"STATUS_UNSPECIFIED"
- STATUS_UNSPECIFIED: The response code is not known.
- STATUS_OK: The response code to notify that the number of requests are under limit.
- STATUS_OVER_LIMIT: The response code to notify that the number of requests are over limit.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | - STATUS_UNSPECIFIED: The response code is not known. - STATUS_OK: The response code to notify that the number of requests are under limit. - STATUS_OVER_LIMIT: The response code to notify that the number of requests are over limit. |
Enumerated Values
Property | Value |
---|---|
anonymous | STATUS_UNSPECIFIED |
anonymous | STATUS_OK |
anonymous | STATUS_OVER_LIMIT |
mycujoo.ratelimit.v1.Unit
"UNIT_UNSPECIFIED"
Identifies the unit of time for rate limit.
- UNIT_UNSPECIFIED: The time unit is not known.
- UNIT_SECOND: The time unit representing a second.
- UNIT_MINUTE: The time unit representing a minute.
- UNIT_HOUR: The time unit representing an hour.
- UNIT_DAY: The time unit representing a day.
- UNIT_MONTH: The time unit representing a month.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | Identifies the unit of time for rate limit. - UNIT_UNSPECIFIED: The time unit is not known. - UNIT_SECOND: The time unit representing a second. - UNIT_MINUTE: The time unit representing a minute. - UNIT_HOUR: The time unit representing an hour. - UNIT_DAY: The time unit representing a day. - UNIT_MONTH: The time unit representing a month. |
Enumerated Values
Property | Value |
---|---|
anonymous | UNIT_UNSPECIFIED |
anonymous | UNIT_SECOND |
anonymous | UNIT_MINUTE |
anonymous | UNIT_HOUR |
anonymous | UNIT_DAY |
anonymous | UNIT_MONTH |
mycujoo.secure_link.v1.GetSecureLinkResponse
{
"create_time": "2019-08-24T14:15:22Z",
"id": "string",
"is_enabled": true,
"public_key": "string",
"resource_id": "string",
"resource_type": "string",
"update_time": "2019-08-24T14:15:22Z"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
create_time | string(date-time) | false | none | none |
id | string | false | none | none |
is_enabled | boolean | false | none | none |
public_key | string | false | none | none |
resource_id | string | false | none | none |
resource_type | string | false | none | none |
update_time | string(date-time) | false | none | none |
mycujoo.secure_link.v1.RotateKeyResponse
{
"create_time": "2019-08-24T14:15:22Z",
"id": "string",
"is_enabled": true,
"public_key": "string",
"resource_id": "string",
"resource_type": "string",
"update_time": "2019-08-24T14:15:22Z"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
create_time | string(date-time) | false | none | none |
id | string | false | none | none |
is_enabled | boolean | false | none | none |
public_key | string | false | none | none |
resource_id | string | false | none | none |
resource_type | string | false | none | none |
update_time | string(date-time) | false | none | none |
mycujoo.secure_link.v1.UpsertSecureLinkResponse
{
"create_time": "2019-08-24T14:15:22Z",
"id": "string",
"is_enabled": true,
"public_key": "string",
"resource_id": "string",
"resource_type": "string",
"update_time": "2019-08-24T14:15:22Z"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
create_time | string(date-time) | false | none | none |
id | string | false | none | none |
is_enabled | boolean | false | none | none |
public_key | string | false | none | none |
resource_id | string | false | none | none |
resource_type | string | false | none | none |
update_time | string(date-time) | false | none | none |
mycujoo.streaming.v1.Activity
{
"timestamp": "2019-08-24T14:15:22Z",
"type": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
timestamp | string(date-time) | false | none | Returned by the API, cannot be set Timestamp of when the activity was happened. |
type | string | false | none | none |
mycujoo.streaming.v1.AudioStats
{
"bit_rate": 0,
"channel_layout": "string",
"channels": 0,
"codec": "string",
"codec_long_name": "string",
"codec_type": "string",
"index": 0,
"profile": "string",
"sample_fmt": "string",
"sample_rate": 0
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
bit_rate | integer(int32) | false | none | none |
channel_layout | string | false | none | none |
channels | integer(int32) | false | none | none |
codec | string | false | none | none |
codec_long_name | string | false | none | none |
codec_type | string | false | none | none |
index | integer(int32) | false | none | none |
profile | string | false | none | none |
sample_fmt | string | false | none | none |
sample_rate | integer(int32) | false | none | none |
mycujoo.streaming.v1.BatchGetStreamsResponse
{
"streams": [
{
"config": {
"auto_enable_vpn_blocking": true,
"default": true,
"dvr_settings": {
"automatic_vod": true,
"enabled": true,
"stop_transcoding_full_dvr": true,
"window_size": 1
},
"enable_pull_endpoint": true,
"enable_raw_pull_endpoint": true,
"id": "string",
"is_system": true,
"name": "string",
"recording_settings": {
"autostart": true,
"enabled": true,
"record_during_transcoding": true
},
"scene_settings": {
"is_enabled": true,
"key_color": "SCENE_KEY_COLOR_UNSPECIFIED",
"scene_id": "string"
},
"secure_link": true,
"transcoding_settings": {
"audio_bitrate": 32,
"autostart": true,
"drm": {
"fairplay": true,
"playready": true,
"widevine": true
},
"enabled": true,
"follow_source_fps": true,
"gop": 25,
"interlacing_filter_mode": "INTERLACING_FILTER_MODE_UNSPECIFIED",
"key_frame_interval": 1,
"level": 0.1,
"llhls_settings": {
"is_enabled": true,
"part_size": 250,
"segment_count": 10,
"segment_size": 1
},
"low_latency": true,
"profile": "TRANSCODING_PROFILE_UNSPECIFIED",
"segment_size": 1,
"tracking_pixel": true,
"use_cdn": true,
"video_representation_ids": [
"string"
],
"watermark": {
"enabled": true,
"url": "https://images.mls.mycujoo.tv/example.png"
}
}
},
"config_id": "string",
"connection_time_seconds": 0,
"endpoint": "string",
"external_video_source": "string",
"id": "string",
"incoming_feed": {
"device": {
"flash_version": "string",
"name": "string"
},
"http_flv_endpoint": "string",
"is_active": true,
"protocol": "INGEST_PROTOCOL_UNSPECIFIED",
"session_id": "string"
},
"incoming_feed_flv": "string",
"is_active": true,
"is_enabled": true,
"is_public": true,
"is_published": true,
"key": "string",
"media_source_id": "string",
"playlists": [
{
"id": "string",
"is_enabled": true,
"is_transcoded": true,
"is_updating": true,
"is_vod": true,
"protocol": "PROTOCOL_UNSPECIFIED",
"type": "TYPE_UNSPECIFIED",
"url": "string"
}
],
"project_id": "string",
"pull_endpoints": [
{
"config_id": "string",
"endpoint": "string",
"id": "string",
"is_transcoded": true,
"protocol": "PROTOCOL_UNSPECIFIED",
"scene_settings": {
"is_enabled": true,
"key_color": "SCENE_KEY_COLOR_UNSPECIFIED",
"scene_id": "string",
"variables": {
"property1": "string",
"property2": "string"
}
},
"video_representation_id": "string"
}
],
"pull_ingest_id": "string",
"push_endpoints": [
{
"config_id": "qurnvkspnrjqk",
"endpoint": "rtmp://something/live",
"protocol": "RTMP",
"stream_id": "abcdefghi"
}
],
"push_ingest_endpoints": [
{
"endpoint": "string",
"in_use": true,
"protocol": "PUSH_INGEST_PROTOCOL_UNSPECIFIED",
"region": "REGION_UNSPECIFIED",
"secure_endpoint": "string",
"secure_uri": "string",
"support_tls": true,
"uri": "string"
}
],
"region": "REGION_UNSPECIFIED",
"stats": {
"audio_bit_rate": 0,
"audios": [
{
"bit_rate": 0,
"channel_layout": "string",
"channels": 0,
"codec": "string",
"codec_long_name": "string",
"codec_type": "string",
"index": 0,
"profile": "string",
"sample_fmt": "string",
"sample_rate": 0
}
],
"connection_count": 0,
"sample": {
"audio_bit_rate": 0,
"video_bit_rate": 0,
"video_frame_rate": 0.1,
"video_key_frame_consistent": true,
"video_key_frame_interval": 0.1,
"video_resolution": 0
},
"video_bit_rate": 0,
"video_frame_rate": 0.1,
"video_key_frame_consistent": true,
"video_key_frame_interval": 0.1,
"video_resolution": 0,
"videos": [
{
"bit_rate": 0,
"codec": "string",
"codec_long_name": "string",
"codec_type": "string",
"frame_rate": 0.1,
"height": 0,
"index": 0,
"level": 0,
"pix_fmt": "string",
"profile": "string",
"resolution": 0,
"start_pts": 0,
"width": 0
}
]
},
"title": "string",
"transcoding_state": "STATE_UNSPECIFIED",
"transcoding_time_seconds": 0,
"type": "TYPE_UNSPECIFIED",
"upload_id": "string",
"vod_asset_id": "string"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
streams | [mycujoo.streaming.v1.Stream] | false | none | none |
mycujoo.streaming.v1.ClipDownload
{
"full_url": "string",
"size": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
full_url | string | false | none | none |
size | string(int64) | false | none | none |
mycujoo.streaming.v1.ClipRequest
{
"duration": 0,
"offset": 0,
"position": 0,
"request_download": true,
"stream_id": "string",
"title": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
duration | integer(int32) | false | none | none |
offset | integer(int32) | false | none | none |
position | integer(int32) | false | none | none |
request_download | boolean | false | none | Indicates whether or not to request a download link for the clip. |
stream_id | string | false | none | none |
title | string | false | none | Title for the clip. If not set, a random name will be chosen. |
mycujoo.streaming.v1.ClipResponse
{
"actual_duration": 0,
"actual_position": 0,
"created_time": "2019-08-24T14:15:22Z",
"download": {
"full_url": "string",
"size": "string"
},
"download_state": "DOWNLOAD_STATE_UNSPECIFIED",
"full_url": "string",
"id": "string",
"state": "CLIP_STATE_UNSPECIFIED",
"stream_id": "string",
"title": "string",
"updated_time": "2019-08-24T14:15:22Z"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
actual_duration | integer(int32) | false | none | Returned by the API, cannot be set The actual (calculated) duration of the clip. It can differ from the requested duration because we may include a few extras seconds in the clip due to the segment size. |
actual_position | integer(int32) | false | none | Returned by the API, cannot be set The actual position of the clip. If position -1 (live) is chosen in the request, this will be the start in seconds from the stream where the clip begins. |
created_time | string(date-time) | false | none | none |
download | mycujoo.streaming.v1.ClipDownload | false | none | none |
download_state | mycujoo.streaming.v1.DownloadState | false | none | none |
full_url | string | false | none | none |
id | string | false | none | none |
state | mycujoo.streaming.v1.ClipState | false | none | none |
stream_id | string | false | none | none |
title | string | false | none | Returned by the API, cannot be set Title for the clip. If not set, a random name will be chosen. |
updated_time | string(date-time) | false | none | Returned by the API, cannot be set Timestamp of when the clip was updated. If it was never updated, it will be the same as created_time. |
mycujoo.streaming.v1.ClipState
"CLIP_STATE_UNSPECIFIED"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | CLIP_STATE_UNSPECIFIED |
anonymous | CLIP_STATE_READY |
anonymous | CLIP_STATE_SCHEDULED |
anonymous | CLIP_STATE_FAILED |
mycujoo.streaming.v1.ClipTestIamPermissionsRequest
{
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
permissions | [string] | true | none | none |
resource | mycujoo.auth.v1.Resource | true | none | Resource object reference that is used to represent objects in the IAM system. |
mycujoo.streaming.v1.ClipTestIamPermissionsResponse
{
"permissions": [
"projects.create",
"projects.update"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
permissions | [string] | false | none | none |
resource | mycujoo.auth.v1.Resource | false | none | Resource object reference that is used to represent objects in the IAM system. |
mycujoo.streaming.v1.Concat
{
"destination_asset_id": "string",
"id": "string",
"state": "STATE_UNSPECIFIED",
"status": "STATUS_UNSPECIFIED",
"stream_id": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
destination_asset_id | string | false | none | none |
id | string | false | none | none |
state | mycujoo.streaming.v1.Concat.State | false | none | none |
status | mycujoo.streaming.v1.Concat.Status | false | none | none |
stream_id | string | false | none | none |
mycujoo.streaming.v1.Concat.State
"STATE_UNSPECIFIED"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | STATE_UNSPECIFIED |
anonymous | STATE_ACTIVE |
anonymous | STATE_INACTIVE |
anonymous | STATE_SCHEDULED |
mycujoo.streaming.v1.Concat.Status
"STATUS_UNSPECIFIED"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | STATUS_UNSPECIFIED |
anonymous | STATUS_COMPLETED |
anonymous | STATUS_FAILED |
anonymous | STATUS_TERMINATED |
mycujoo.streaming.v1.CreateClipResponse
{
"clip": {
"actual_duration": 0,
"actual_position": 0,
"created_time": "2019-08-24T14:15:22Z",
"download": {
"full_url": "string",
"size": "string"
},
"download_state": "DOWNLOAD_STATE_UNSPECIFIED",
"full_url": "string",
"id": "string",
"state": "CLIP_STATE_UNSPECIFIED",
"stream_id": "string",
"title": "string",
"updated_time": "2019-08-24T14:15:22Z"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
clip | mycujoo.streaming.v1.ClipResponse | false | none | none |
mycujoo.streaming.v1.CreateConfigResponse
{
"stream_config": {
"auto_enable_vpn_blocking": true,
"default": true,
"dvr_settings": {
"automatic_vod": true,
"enabled": true,
"stop_transcoding_full_dvr": true,
"window_size": 1
},
"enable_pull_endpoint": true,
"enable_raw_pull_endpoint": true,
"id": "string",
"is_system": true,
"name": "string",
"recording_settings": {
"autostart": true,
"enabled": true,
"record_during_transcoding": true
},
"scene_settings": {
"is_enabled": true,
"key_color": "SCENE_KEY_COLOR_UNSPECIFIED",
"scene_id": "string"
},
"secure_link": true,
"transcoding_settings": {
"audio_bitrate": 32,
"autostart": true,
"drm": {
"fairplay": true,
"playready": true,
"widevine": true
},
"enabled": true,
"follow_source_fps": true,
"gop": 25,
"interlacing_filter_mode": "INTERLACING_FILTER_MODE_UNSPECIFIED",
"key_frame_interval": 1,
"level": 0.1,
"llhls_settings": {
"is_enabled": true,
"part_size": 250,
"segment_count": 10,
"segment_size": 1
},
"low_latency": true,
"profile": "TRANSCODING_PROFILE_UNSPECIFIED",
"segment_size": 1,
"tracking_pixel": true,
"use_cdn": true,
"video_representation_ids": [
"string"
],
"watermark": {
"enabled": true,
"url": "https://images.mls.mycujoo.tv/example.png"
}
}
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
stream_config | mycujoo.streaming.v1.StreamConfig | false | none | none |
mycujoo.streaming.v1.CreatePullIngestRequest
{
"endpoint": "string",
"name": "string",
"protocol": "PULL_INGEST_PROTOCOL_UNSPECIFIED"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
endpoint | string | false | none | none |
name | string | false | none | none |
protocol | mycujoo.streaming.v1.PullIngestProtocol | false | none | - PULL_INGEST_PROTOCOL_RTMP: RTMPS is simply RTMP with an added layer of security for protected streaming. So they are the same protocol |
mycujoo.streaming.v1.CreatePullIngestResponse
{
"pull_ingest": {
"endpoint": "string",
"id": "string",
"name": "string",
"protocol": "PULL_INGEST_PROTOCOL_UNSPECIFIED",
"streams": [
{
"status": "PULL_INGEST_STATUS_UNSPECIFIED",
"stream_id": "string"
}
]
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
pull_ingest | mycujoo.streaming.v1.PullIngestEndpoint | false | none | none |
mycujoo.streaming.v1.CreatePushEndpointRequest
{
"config_id": "qurnvkspnrjqk",
"endpoint": "rtmp://something/live",
"protocol": "RTMP",
"stream_id": "abcdefghi"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
added_latency_seconds | integer(int32) | false | none | none |
config_id | string | false | none | none |
endpoint | string | false | none | none |
name | string | false | none | none |
protocol | mycujoo.streaming.v1.CreatePushEndpointRequest.Protocol | false | none | none |
scene_settings | mycujoo.streaming.v1.EndpointSceneSettings | false | none | none |
stream_id | string | false | none | none |
video_representation_id | string | false | none | Video representation ID associated with this endpoint. |
mycujoo.streaming.v1.CreatePushEndpointRequest.Protocol
"PROTOCOL_UNSPECIFIED"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | PROTOCOL_UNSPECIFIED |
anonymous | PROTOCOL_RTMP |
anonymous | PROTOCOL_HLS |
anonymous | PROTOCOL_SRT |
mycujoo.streaming.v1.CreatePushEndpointResponse
{
"endpoint": {
"config_id": "qurnvkspnrjqk",
"endpoint": "rtmp://something/live",
"protocol": "RTMP",
"stream_id": "abcdefghi"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
endpoint | mycujoo.streaming.v1.StreamPushEndpoint | false | none | none |
mycujoo.streaming.v1.CreateStreamResponse
{
"stream": {
"config": {
"auto_enable_vpn_blocking": true,
"default": true,
"dvr_settings": {
"automatic_vod": true,
"enabled": true,
"stop_transcoding_full_dvr": true,
"window_size": 1
},
"enable_pull_endpoint": true,
"enable_raw_pull_endpoint": true,
"id": "string",
"is_system": true,
"name": "string",
"recording_settings": {
"autostart": true,
"enabled": true,
"record_during_transcoding": true
},
"scene_settings": {
"is_enabled": true,
"key_color": "SCENE_KEY_COLOR_UNSPECIFIED",
"scene_id": "string"
},
"secure_link": true,
"transcoding_settings": {
"audio_bitrate": 32,
"autostart": true,
"drm": {
"fairplay": true,
"playready": true,
"widevine": true
},
"enabled": true,
"follow_source_fps": true,
"gop": 25,
"interlacing_filter_mode": "INTERLACING_FILTER_MODE_UNSPECIFIED",
"key_frame_interval": 1,
"level": 0.1,
"llhls_settings": {
"is_enabled": true,
"part_size": 250,
"segment_count": 10,
"segment_size": 1
},
"low_latency": true,
"profile": "TRANSCODING_PROFILE_UNSPECIFIED",
"segment_size": 1,
"tracking_pixel": true,
"use_cdn": true,
"video_representation_ids": [
"string"
],
"watermark": {
"enabled": true,
"url": "https://images.mls.mycujoo.tv/example.png"
}
}
},
"config_id": "string",
"connection_time_seconds": 0,
"endpoint": "string",
"external_video_source": "string",
"id": "string",
"incoming_feed": {
"device": {
"flash_version": "string",
"name": "string"
},
"http_flv_endpoint": "string",
"is_active": true,
"protocol": "INGEST_PROTOCOL_UNSPECIFIED",
"session_id": "string"
},
"incoming_feed_flv": "string",
"is_active": true,
"is_enabled": true,
"is_public": true,
"is_published": true,
"key": "string",
"media_source_id": "string",
"playlists": [
{
"id": "string",
"is_enabled": true,
"is_transcoded": true,
"is_updating": true,
"is_vod": true,
"protocol": "PROTOCOL_UNSPECIFIED",
"type": "TYPE_UNSPECIFIED",
"url": "string"
}
],
"project_id": "string",
"pull_endpoints": [
{
"config_id": "string",
"endpoint": "string",
"id": "string",
"is_transcoded": true,
"protocol": "PROTOCOL_UNSPECIFIED",
"scene_settings": {
"is_enabled": true,
"key_color": "SCENE_KEY_COLOR_UNSPECIFIED",
"scene_id": "string",
"variables": {
"property1": "string",
"property2": "string"
}
},
"video_representation_id": "string"
}
],
"pull_ingest_id": "string",
"push_endpoints": [
{
"config_id": "qurnvkspnrjqk",
"endpoint": "rtmp://something/live",
"protocol": "RTMP",
"stream_id": "abcdefghi"
}
],
"push_ingest_endpoints": [
{
"endpoint": "string",
"in_use": true,
"protocol": "PUSH_INGEST_PROTOCOL_UNSPECIFIED",
"region": "REGION_UNSPECIFIED",
"secure_endpoint": "string",
"secure_uri": "string",
"support_tls": true,
"uri": "string"
}
],
"region": "REGION_UNSPECIFIED",
"stats": {
"audio_bit_rate": 0,
"audios": [
{
"bit_rate": 0,
"channel_layout": "string",
"channels": 0,
"codec": "string",
"codec_long_name": "string",
"codec_type": "string",
"index": 0,
"profile": "string",
"sample_fmt": "string",
"sample_rate": 0
}
],
"connection_count": 0,
"sample": {
"audio_bit_rate": 0,
"video_bit_rate": 0,
"video_frame_rate": 0.1,
"video_key_frame_consistent": true,
"video_key_frame_interval": 0.1,
"video_resolution": 0
},
"video_bit_rate": 0,
"video_frame_rate": 0.1,
"video_key_frame_consistent": true,
"video_key_frame_interval": 0.1,
"video_resolution": 0,
"videos": [
{
"bit_rate": 0,
"codec": "string",
"codec_long_name": "string",
"codec_type": "string",
"frame_rate": 0.1,
"height": 0,
"index": 0,
"level": 0,
"pix_fmt": "string",
"profile": "string",
"resolution": 0,
"start_pts": 0,
"width": 0
}
]
},
"title": "string",
"transcoding_state": "STATE_UNSPECIFIED",
"transcoding_time_seconds": 0,
"type": "TYPE_UNSPECIFIED",
"upload_id": "string",
"vod_asset_id": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
stream | mycujoo.streaming.v1.Stream | false | none | none |
mycujoo.streaming.v1.CreateVideoRepresentationResponse
{
"video_representation": {
"bitrate": 100,
"framerate": 24,
"height": 240,
"id": "string",
"is_enabled": true,
"is_system": true,
"name": "string",
"width": 320
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
video_representation | mycujoo.streaming.v1.VideoRepresentation | false | none | none |
mycujoo.streaming.v1.DRMTechnologies
{
"fairplay": true,
"playready": true,
"widevine": true
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
fairplay | boolean | false | none | none |
playready | boolean | false | none | none |
widevine | boolean | false | none | none |
mycujoo.streaming.v1.DVRSettings
{
"automatic_vod": true,
"enabled": true,
"stop_transcoding_full_dvr": true,
"window_size": 1
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
automatic_vod | boolean | false | none | Automatically make the playlists appear as VOD when transcoding stops. |
enabled | boolean | false | none | none |
stop_transcoding_full_dvr | boolean | false | none | when the DVR is full stop transcoding instead of removing old segments. You will not be able to enable transcoding again for this stream after the limit has been reached. |
window_size | integer(int32) | false | none | Maximum size of the DVR window in seconds. By default, segments will be removed in order from oldest to newest after this limit is reached. |
mycujoo.streaming.v1.DeleteClipResponse
{}
Properties
None
mycujoo.streaming.v1.DeleteConfigResponse
{}
Properties
None
mycujoo.streaming.v1.DeletePullIngestResponse
{}
Properties
None
mycujoo.streaming.v1.DeletePushEndpointResponse
{}
Properties
None
mycujoo.streaming.v1.DeleteRecordingAssetResponse
{}
Properties
None
mycujoo.streaming.v1.DeleteStreamResponse
{}
Properties
None
mycujoo.streaming.v1.DeleteVideoRepresentationResponse
{}
Properties
None
mycujoo.streaming.v1.DownloadState
"DOWNLOAD_STATE_UNSPECIFIED"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | DOWNLOAD_STATE_UNSPECIFIED |
anonymous | DOWNLOAD_STATE_UNAVAILABLE |
anonymous | DOWNLOAD_STATE_REQUESTED |
anonymous | DOWNLOAD_STATE_AVAILABLE |
mycujoo.streaming.v1.EndpointSceneSettings
{
"is_enabled": true,
"key_color": "SCENE_KEY_COLOR_UNSPECIFIED",
"scene_id": "string",
"variables": {
"property1": "string",
"property2": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
is_enabled | boolean | false | none | is_enabled is a flag that indicates whether the scene integration is enabled. The chosen scene will be rendered and applied to the main feed. |
key_color | mycujoo.streaming.v1.EndpointSceneSettings.SceneKeyColor | false | none | none |
scene_id | string | false | none | The scene id to be used for the feed. |
variables | object | false | none | The scene variables to be used for the feed. The variables are used to replace the placeholders in the scene and inlays. |
ยป additionalProperties | string | false | none | none |
mycujoo.streaming.v1.EndpointSceneSettings.SceneKeyColor
"SCENE_KEY_COLOR_UNSPECIFIED"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | SCENE_KEY_COLOR_UNSPECIFIED |
anonymous | SCENE_KEY_COLOR_BLACK |
anonymous | SCENE_KEY_COLOR_GREEN |
anonymous | SCENE_KEY_COLOR_BLUE |
mycujoo.streaming.v1.FeedDetail
{
"device": {
"flash_version": "string",
"name": "string"
},
"http_flv_endpoint": "string",
"is_active": true,
"protocol": "INGEST_PROTOCOL_UNSPECIFIED",
"session_id": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
device | mycujoo.streaming.v1.StreamerDevice | false | none | none |
http_flv_endpoint | string | false | none | The HTTP-FLV endpoint for the incoming feed for use in the console. Requires a valid bearer token. |
is_active | boolean | false | none | none |
protocol | mycujoo.streaming.v1.IngestProtocol | false | none | none |
session_id | string | false | none | Indicates the feed session id. |
mycujoo.streaming.v1.GetClipIamPolicyResponse
{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
etag | string(byte) | false | none | none |
policy | mycujoo.auth.v1.Policy | false | none | Authorization policy. |
mycujoo.streaming.v1.GetClipResponse
{
"clip": {
"actual_duration": 0,
"actual_position": 0,
"created_time": "2019-08-24T14:15:22Z",
"download": {
"full_url": "string",
"size": "string"
},
"download_state": "DOWNLOAD_STATE_UNSPECIFIED",
"full_url": "string",
"id": "string",
"state": "CLIP_STATE_UNSPECIFIED",
"stream_id": "string",
"title": "string",
"updated_time": "2019-08-24T14:15:22Z"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
clip | mycujoo.streaming.v1.ClipResponse | false | none | none |
mycujoo.streaming.v1.GetConcatRecordingsResponse
{
"concat": {
"destination_asset_id": "string",
"id": "string",
"state": "STATE_UNSPECIFIED",
"status": "STATUS_UNSPECIFIED",
"stream_id": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
concat | mycujoo.streaming.v1.Concat | false | none | none |
mycujoo.streaming.v1.GetConfigIamPolicyResponse
{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
},
"resource_hierarchy": [
{
"id": "elevendata",
"type": "project"
}
],
"resource_title": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
etag | string(byte) | false | none | none |
policy | mycujoo.auth.v1.Policy | false | none | Authorization policy. |
resource_hierarchy | [mycujoo.auth.v1.Resource] | false | none | [Resource object reference that is used to represent objects in the IAM system.] |
resource_title | string | false | none | none |
mycujoo.streaming.v1.GetConfigResponse
{
"config": {
"auto_enable_vpn_blocking": true,
"default": true,
"dvr_settings": {
"automatic_vod": true,
"enabled": true,
"stop_transcoding_full_dvr": true,
"window_size": 1
},
"enable_pull_endpoint": true,
"enable_raw_pull_endpoint": true,
"id": "string",
"is_system": true,
"name": "string",
"recording_settings": {
"autostart": true,
"enabled": true,
"record_during_transcoding": true
},
"scene_settings": {
"is_enabled": true,
"key_color": "SCENE_KEY_COLOR_UNSPECIFIED",
"scene_id": "string"
},
"secure_link": true,
"transcoding_settings": {
"audio_bitrate": 32,
"autostart": true,
"drm": {
"fairplay": true,
"playready": true,
"widevine": true
},
"enabled": true,
"follow_source_fps": true,
"gop": 25,
"interlacing_filter_mode": "INTERLACING_FILTER_MODE_UNSPECIFIED",
"key_frame_interval": 1,
"level": 0.1,
"llhls_settings": {
"is_enabled": true,
"part_size": 250,
"segment_count": 10,
"segment_size": 1
},
"low_latency": true,
"profile": "TRANSCODING_PROFILE_UNSPECIFIED",
"segment_size": 1,
"tracking_pixel": true,
"use_cdn": true,
"video_representation_ids": [
"string"
],
"watermark": {
"enabled": true,
"url": "https://images.mls.mycujoo.tv/example.png"
}
}
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
config | mycujoo.streaming.v1.StreamConfig | false | none | none |
mycujoo.streaming.v1.GetHostsResponse
{
"hosts": {
"hosts": {
"property1": {
"raw": "string",
"transcoded": "string"
},
"property2": {
"raw": "string",
"transcoded": "string"
}
}
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
hosts | mycujoo.streaming.v1.RegionalHosts | false | none | none |
mycujoo.streaming.v1.GetPlaylistSecurityResponse
{
"config": {
"drm": {
"fairplay": true,
"playready": true,
"widevine": true
},
"is_secure_link": true,
"org_secret": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
config | mycujoo.streaming.v1.PlaylistSecurity | false | none | none |
mycujoo.streaming.v1.GetPullIngestIamPolicyResponse
{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
etag | string(byte) | false | none | none |
policy | mycujoo.auth.v1.Policy | false | none | Authorization policy. |
mycujoo.streaming.v1.GetPullIngestResponse
{
"pull_ingest": {
"endpoint": "string",
"id": "string",
"name": "string",
"protocol": "PULL_INGEST_PROTOCOL_UNSPECIFIED",
"streams": [
{
"status": "PULL_INGEST_STATUS_UNSPECIFIED",
"stream_id": "string"
}
]
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
pull_ingest | mycujoo.streaming.v1.PullIngestEndpoint | false | none | none |
mycujoo.streaming.v1.GetRecordingAssetResponse
{
"recording_asset": {
"asset_url": "string",
"id": "string",
"is_concatenated": true,
"status": "STATUS_UNSPECIFIED",
"stream_id": "string",
"stream_key": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
recording_asset | mycujoo.streaming.v1.RecordingAsset | false | none | none |
mycujoo.streaming.v1.GetSecureKeyResponse
{
"secure_key": {
"key": "string",
"version": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
secure_key | mycujoo.streaming.v1.SecureKey | false | none | none |
mycujoo.streaming.v1.GetStreamIamPolicyResponse
{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
},
"resource_hierarchy": [
{
"id": "elevendata",
"type": "project"
}
],
"resource_title": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
etag | string(byte) | false | none | none |
policy | mycujoo.auth.v1.Policy | false | none | Authorization policy. |
resource_hierarchy | [mycujoo.auth.v1.Resource] | false | none | [Resource object reference that is used to represent objects in the IAM system.] |
resource_title | string | false | none | none |
mycujoo.streaming.v1.GetStreamPullIngestResponse
{
"stream_pull_ingest": {
"endpoint": "string",
"id": "string",
"name": "string",
"protocol": "PULL_INGEST_PROTOCOL_UNSPECIFIED",
"status": "PULL_INGEST_STATUS_UNSPECIFIED",
"stream_id": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
stream_pull_ingest | mycujoo.streaming.v1.StreamPullIngestEndpoint | false | none | none |
mycujoo.streaming.v1.GetStreamResponse
{
"stream": {
"config": {
"auto_enable_vpn_blocking": true,
"default": true,
"dvr_settings": {
"automatic_vod": true,
"enabled": true,
"stop_transcoding_full_dvr": true,
"window_size": 1
},
"enable_pull_endpoint": true,
"enable_raw_pull_endpoint": true,
"id": "string",
"is_system": true,
"name": "string",
"recording_settings": {
"autostart": true,
"enabled": true,
"record_during_transcoding": true
},
"scene_settings": {
"is_enabled": true,
"key_color": "SCENE_KEY_COLOR_UNSPECIFIED",
"scene_id": "string"
},
"secure_link": true,
"transcoding_settings": {
"audio_bitrate": 32,
"autostart": true,
"drm": {
"fairplay": true,
"playready": true,
"widevine": true
},
"enabled": true,
"follow_source_fps": true,
"gop": 25,
"interlacing_filter_mode": "INTERLACING_FILTER_MODE_UNSPECIFIED",
"key_frame_interval": 1,
"level": 0.1,
"llhls_settings": {
"is_enabled": true,
"part_size": 250,
"segment_count": 10,
"segment_size": 1
},
"low_latency": true,
"profile": "TRANSCODING_PROFILE_UNSPECIFIED",
"segment_size": 1,
"tracking_pixel": true,
"use_cdn": true,
"video_representation_ids": [
"string"
],
"watermark": {
"enabled": true,
"url": "https://images.mls.mycujoo.tv/example.png"
}
}
},
"config_id": "string",
"connection_time_seconds": 0,
"endpoint": "string",
"external_video_source": "string",
"id": "string",
"incoming_feed": {
"device": {
"flash_version": "string",
"name": "string"
},
"http_flv_endpoint": "string",
"is_active": true,
"protocol": "INGEST_PROTOCOL_UNSPECIFIED",
"session_id": "string"
},
"incoming_feed_flv": "string",
"is_active": true,
"is_enabled": true,
"is_public": true,
"is_published": true,
"key": "string",
"media_source_id": "string",
"playlists": [
{
"id": "string",
"is_enabled": true,
"is_transcoded": true,
"is_updating": true,
"is_vod": true,
"protocol": "PROTOCOL_UNSPECIFIED",
"type": "TYPE_UNSPECIFIED",
"url": "string"
}
],
"project_id": "string",
"pull_endpoints": [
{
"config_id": "string",
"endpoint": "string",
"id": "string",
"is_transcoded": true,
"protocol": "PROTOCOL_UNSPECIFIED",
"scene_settings": {
"is_enabled": true,
"key_color": "SCENE_KEY_COLOR_UNSPECIFIED",
"scene_id": "string",
"variables": {
"property1": "string",
"property2": "string"
}
},
"video_representation_id": "string"
}
],
"pull_ingest_id": "string",
"push_endpoints": [
{
"config_id": "qurnvkspnrjqk",
"endpoint": "rtmp://something/live",
"protocol": "RTMP",
"stream_id": "abcdefghi"
}
],
"push_ingest_endpoints": [
{
"endpoint": "string",
"in_use": true,
"protocol": "PUSH_INGEST_PROTOCOL_UNSPECIFIED",
"region": "REGION_UNSPECIFIED",
"secure_endpoint": "string",
"secure_uri": "string",
"support_tls": true,
"uri": "string"
}
],
"region": "REGION_UNSPECIFIED",
"stats": {
"audio_bit_rate": 0,
"audios": [
{
"bit_rate": 0,
"channel_layout": "string",
"channels": 0,
"codec": "string",
"codec_long_name": "string",
"codec_type": "string",
"index": 0,
"profile": "string",
"sample_fmt": "string",
"sample_rate": 0
}
],
"connection_count": 0,
"sample": {
"audio_bit_rate": 0,
"video_bit_rate": 0,
"video_frame_rate": 0.1,
"video_key_frame_consistent": true,
"video_key_frame_interval": 0.1,
"video_resolution": 0
},
"video_bit_rate": 0,
"video_frame_rate": 0.1,
"video_key_frame_consistent": true,
"video_key_frame_interval": 0.1,
"video_resolution": 0,
"videos": [
{
"bit_rate": 0,
"codec": "string",
"codec_long_name": "string",
"codec_type": "string",
"frame_rate": 0.1,
"height": 0,
"index": 0,
"level": 0,
"pix_fmt": "string",
"profile": "string",
"resolution": 0,
"start_pts": 0,
"width": 0
}
]
},
"title": "string",
"transcoding_state": "STATE_UNSPECIFIED",
"transcoding_time_seconds": 0,
"type": "TYPE_UNSPECIFIED",
"upload_id": "string",
"vod_asset_id": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
stream | mycujoo.streaming.v1.Stream | false | none | none |
mycujoo.streaming.v1.GetStreamSessionActivitiesResponse
{
"next_page_token": "string",
"sessions": [
{
"activities": [
{
"timestamp": "2019-08-24T14:15:22Z",
"type": "string"
}
],
"id": "string"
}
],
"total_size": 0
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
next_page_token | string | false | none | If there are more results than have been returned, then this field is set to a non-empty value. To see the additional results, use that value as page_token in the next call to this method. |
sessions | [mycujoo.streaming.v1.SessionActivity] | false | none | none |
total_size | integer(int32) | false | none | A positive number that is the maximum number of results to return with that requested filter(s). |
mycujoo.streaming.v1.GetStreamStatsTimeSeriesResponse
{
"stream_stats": [
{
"audio_bit_rate": 0,
"connection_count": 0,
"key_frame_consistent": true,
"key_frame_interval": 0.1,
"time": "2019-08-24T14:15:22Z",
"video_bit_rate": 0,
"video_fps": 0.1,
"video_height": 0
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
stream_stats | [mycujoo.streaming.v1.StreamStatsPoint] | false | none | none |
mycujoo.streaming.v1.GetTranscodingResponse
{
"transcoding": {
"id": "string",
"progress": 100,
"start_offset": 0,
"state": "STATE_UNSPECIFIED",
"status": "STATUS_UNSPECIFIED",
"stream_id": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
transcoding | mycujoo.streaming.v1.Transcoding | false | none | none |
mycujoo.streaming.v1.GetTranscodingSessionActivitiesResponse
{
"activities": [
{
"create_time": "2019-08-24T14:15:22Z",
"duration": 0.1,
"is_session_active": true,
"session_id": "string",
"source_ingest_ip": "string",
"update_time": "2019-08-24T14:15:22Z"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
activities | [mycujoo.streaming.v1.TranscodingSessionActivity] | false | none | none |
mycujoo.streaming.v1.GetVideoRepresentationIamPolicyResponse
{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
etag | string(byte) | false | none | none |
policy | mycujoo.auth.v1.Policy | false | none | Authorization policy. |
mycujoo.streaming.v1.GetVideoRepresentationResponse
{
"video_representation": {
"bitrate": 100,
"framerate": 24,
"height": 240,
"id": "string",
"is_enabled": true,
"is_system": true,
"name": "string",
"width": 320
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
video_representation | mycujoo.streaming.v1.VideoRepresentation | false | none | none |
mycujoo.streaming.v1.Host
{
"raw": "string",
"transcoded": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
raw | string | false | none | none |
transcoded | string | false | none | none |
mycujoo.streaming.v1.IngestProtocol
"INGEST_PROTOCOL_UNSPECIFIED"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | INGEST_PROTOCOL_UNSPECIFIED |
anonymous | INGEST_PROTOCOL_RTMP |
anonymous | INGEST_PROTOCOL_SRT |
mycujoo.streaming.v1.LLHLSSettings
{
"is_enabled": true,
"part_size": 250,
"segment_count": 10,
"segment_size": 1
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
is_enabled | boolean | false | none | Enable low latency HLS LLHLS is available for live streams. |
part_size | integer(int32) | false | none | Low latency HLS part size in milliseconds Recommended value is 500. |
segment_count | integer(int32) | false | none | Low latency HLS segment count. Number of segments to keep in the playlist during live streaming. Recommended value is 30. |
segment_size | integer(int32) | false | none | Low latency HLS segment size in seconds Recommended value is 2. |
mycujoo.streaming.v1.ListClipsResponse
{
"clips": [
{
"actual_duration": 0,
"actual_position": 0,
"created_time": "2019-08-24T14:15:22Z",
"download": {
"full_url": "string",
"size": "string"
},
"download_state": "DOWNLOAD_STATE_UNSPECIFIED",
"full_url": "string",
"id": "string",
"state": "CLIP_STATE_UNSPECIFIED",
"stream_id": "string",
"title": "string",
"updated_time": "2019-08-24T14:15:22Z"
}
],
"next_page_token": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
clips | [mycujoo.streaming.v1.ClipResponse] | false | none | none |
next_page_token | string | false | none | If there are more results than have been returned, then this field is set to a non-empty value. To see the additional results, use that value as page_token in the next call to this method. |
mycujoo.streaming.v1.ListConfigsResponse
{
"configs": [
{
"auto_enable_vpn_blocking": true,
"default": true,
"dvr_settings": {
"automatic_vod": true,
"enabled": true,
"stop_transcoding_full_dvr": true,
"window_size": 1
},
"enable_pull_endpoint": true,
"enable_raw_pull_endpoint": true,
"id": "string",
"is_system": true,
"name": "string",
"recording_settings": {
"autostart": true,
"enabled": true,
"record_during_transcoding": true
},
"scene_settings": {
"is_enabled": true,
"key_color": "SCENE_KEY_COLOR_UNSPECIFIED",
"scene_id": "string"
},
"secure_link": true,
"transcoding_settings": {
"audio_bitrate": 32,
"autostart": true,
"drm": {
"fairplay": true,
"playready": true,
"widevine": true
},
"enabled": true,
"follow_source_fps": true,
"gop": 25,
"interlacing_filter_mode": "INTERLACING_FILTER_MODE_UNSPECIFIED",
"key_frame_interval": 1,
"level": 0.1,
"llhls_settings": {
"is_enabled": true,
"part_size": 250,
"segment_count": 10,
"segment_size": 1
},
"low_latency": true,
"profile": "TRANSCODING_PROFILE_UNSPECIFIED",
"segment_size": 1,
"tracking_pixel": true,
"use_cdn": true,
"video_representation_ids": [
"string"
],
"watermark": {
"enabled": true,
"url": "https://images.mls.mycujoo.tv/example.png"
}
}
}
],
"next_page_token": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
configs | [mycujoo.streaming.v1.StreamConfig] | false | none | none |
next_page_token | string | false | none | If there are more results than have been returned, then this field is set to a non-empty value. To see the additional results, use that value as page_token in the next call to this method. |
mycujoo.streaming.v1.ListPullIngestResponse
{
"next_page_token": "string",
"previous_page_token": "string",
"pull_ingest_endpoints": [
{
"endpoint": "string",
"id": "string",
"name": "string",
"protocol": "PULL_INGEST_PROTOCOL_UNSPECIFIED",
"streams": [
{
"status": "PULL_INGEST_STATUS_UNSPECIFIED",
"stream_id": "string"
}
]
}
],
"total_size": 0
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
next_page_token | string | false | none | none |
previous_page_token | string | false | none | none |
pull_ingest_endpoints | [mycujoo.streaming.v1.PullIngestEndpoint] | false | none | none |
total_size | integer(int32) | false | none | The total count of items in the list irrespective of pagination. Will be present only when request 'include' field ask for it. |
mycujoo.streaming.v1.ListRecordingAssetsResponse
{
"next_page_token": "string",
"recording_assets": [
{
"asset_url": "string",
"id": "string",
"is_concatenated": true,
"status": "STATUS_UNSPECIFIED",
"stream_id": "string",
"stream_key": "string"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
next_page_token | string | false | none | If there are more results than have been returned, then this field is set to a non-empty value. To see the additional results, use that value as page_token in the next call to this method. |
recording_assets | [mycujoo.streaming.v1.RecordingAsset] | false | none | none |
mycujoo.streaming.v1.ListStreamsResponse
{
"next_page_token": "string",
"streams": [
{
"config": {
"auto_enable_vpn_blocking": true,
"default": true,
"dvr_settings": {
"automatic_vod": true,
"enabled": true,
"stop_transcoding_full_dvr": true,
"window_size": 1
},
"enable_pull_endpoint": true,
"enable_raw_pull_endpoint": true,
"id": "string",
"is_system": true,
"name": "string",
"recording_settings": {
"autostart": true,
"enabled": true,
"record_during_transcoding": true
},
"scene_settings": {
"is_enabled": true,
"key_color": "SCENE_KEY_COLOR_UNSPECIFIED",
"scene_id": "string"
},
"secure_link": true,
"transcoding_settings": {
"audio_bitrate": 32,
"autostart": true,
"drm": {
"fairplay": true,
"playready": true,
"widevine": true
},
"enabled": true,
"follow_source_fps": true,
"gop": 25,
"interlacing_filter_mode": "INTERLACING_FILTER_MODE_UNSPECIFIED",
"key_frame_interval": 1,
"level": 0.1,
"llhls_settings": {
"is_enabled": true,
"part_size": 250,
"segment_count": 10,
"segment_size": 1
},
"low_latency": true,
"profile": "TRANSCODING_PROFILE_UNSPECIFIED",
"segment_size": 1,
"tracking_pixel": true,
"use_cdn": true,
"video_representation_ids": [
"string"
],
"watermark": {
"enabled": true,
"url": "https://images.mls.mycujoo.tv/example.png"
}
}
},
"config_id": "string",
"connection_time_seconds": 0,
"endpoint": "string",
"external_video_source": "string",
"id": "string",
"incoming_feed": {
"device": {
"flash_version": "string",
"name": "string"
},
"http_flv_endpoint": "string",
"is_active": true,
"protocol": "INGEST_PROTOCOL_UNSPECIFIED",
"session_id": "string"
},
"incoming_feed_flv": "string",
"is_active": true,
"is_enabled": true,
"is_public": true,
"is_published": true,
"key": "string",
"media_source_id": "string",
"playlists": [
{
"id": "string",
"is_enabled": true,
"is_transcoded": true,
"is_updating": true,
"is_vod": true,
"protocol": "PROTOCOL_UNSPECIFIED",
"type": "TYPE_UNSPECIFIED",
"url": "string"
}
],
"project_id": "string",
"pull_endpoints": [
{
"config_id": "string",
"endpoint": "string",
"id": "string",
"is_transcoded": true,
"protocol": "PROTOCOL_UNSPECIFIED",
"scene_settings": {
"is_enabled": true,
"key_color": "SCENE_KEY_COLOR_UNSPECIFIED",
"scene_id": "string",
"variables": {
"property1": "string",
"property2": "string"
}
},
"video_representation_id": "string"
}
],
"pull_ingest_id": "string",
"push_endpoints": [
{
"config_id": "qurnvkspnrjqk",
"endpoint": "rtmp://something/live",
"protocol": "RTMP",
"stream_id": "abcdefghi"
}
],
"push_ingest_endpoints": [
{
"endpoint": "string",
"in_use": true,
"protocol": "PUSH_INGEST_PROTOCOL_UNSPECIFIED",
"region": "REGION_UNSPECIFIED",
"secure_endpoint": "string",
"secure_uri": "string",
"support_tls": true,
"uri": "string"
}
],
"region": "REGION_UNSPECIFIED",
"stats": {
"audio_bit_rate": 0,
"audios": [
{
"bit_rate": 0,
"channel_layout": "string",
"channels": 0,
"codec": "string",
"codec_long_name": "string",
"codec_type": "string",
"index": 0,
"profile": "string",
"sample_fmt": "string",
"sample_rate": 0
}
],
"connection_count": 0,
"sample": {
"audio_bit_rate": 0,
"video_bit_rate": 0,
"video_frame_rate": 0.1,
"video_key_frame_consistent": true,
"video_key_frame_interval": 0.1,
"video_resolution": 0
},
"video_bit_rate": 0,
"video_frame_rate": 0.1,
"video_key_frame_consistent": true,
"video_key_frame_interval": 0.1,
"video_resolution": 0,
"videos": [
{
"bit_rate": 0,
"codec": "string",
"codec_long_name": "string",
"codec_type": "string",
"frame_rate": 0.1,
"height": 0,
"index": 0,
"level": 0,
"pix_fmt": "string",
"profile": "string",
"resolution": 0,
"start_pts": 0,
"width": 0
}
]
},
"title": "string",
"transcoding_state": "STATE_UNSPECIFIED",
"transcoding_time_seconds": 0,
"type": "TYPE_UNSPECIFIED",
"upload_id": "string",
"vod_asset_id": "string"
}
],
"total_size": 0
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
next_page_token | string | false | none | If there are more results than have been returned, then this field is set to a non-empty value. To see the additional results, use that value as page_token in the next call to this method. |
streams | [mycujoo.streaming.v1.Stream] | false | none | none |
total_size | integer(int32) | false | none | A positive number that is the maximum number of results to return with that requested filter(s). |
mycujoo.streaming.v1.ListVideoRepresentationsResponse
{
"next_page_token": "string",
"video_representations": [
{
"bitrate": 100,
"framerate": 24,
"height": 240,
"id": "string",
"is_enabled": true,
"is_system": true,
"name": "string",
"width": 320
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
next_page_token | string | false | none | If there are more results than have been returned, then this field is set to a non-empty value. To see the additional results, use that value as page_token in the next call to this method. |
video_representations | [mycujoo.streaming.v1.VideoRepresentation] | false | none | none |
mycujoo.streaming.v1.PatchHost
{
"cdn_name": "string",
"raw_is_active": true,
"region": "REGION_UNSPECIFIED",
"transcoded_is_active": true
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
cdn_name | string | false | none | none |
raw_is_active | boolean | false | none | none |
region | mycujoo.streaming.v1.PatchHost.Region | false | none | none |
transcoded_is_active | boolean | false | none | none |
mycujoo.streaming.v1.PatchHost.Region
"REGION_UNSPECIFIED"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | REGION_UNSPECIFIED |
anonymous | REGION_EUROPE_WEST |
anonymous | REGION_US_EAST |
anonymous | REGION_SOUTH_AMERICA_EAST |
anonymous | REGION_ASIA_SOUTH_EAST |
mycujoo.streaming.v1.PatchHostResponse
{
"host": {
"cdn_name": "string",
"raw_is_active": true,
"region": "REGION_UNSPECIFIED",
"transcoded_is_active": true
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
host | mycujoo.streaming.v1.PatchHost | false | none | none |
mycujoo.streaming.v1.Playlist
{
"id": "string",
"is_enabled": true,
"is_transcoded": true,
"is_updating": true,
"is_vod": true,
"protocol": "PROTOCOL_UNSPECIFIED",
"type": "TYPE_UNSPECIFIED",
"url": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | none |
is_enabled | boolean | false | none | none |
is_transcoded | boolean | false | none | none |
is_updating | boolean | false | none | indicates if the playlist should be considered as active. If a playlist is active it should be actively updating. |
is_vod | boolean | false | none | none |
protocol | mycujoo.streaming.v1.Playlist.Protocol | false | none | none |
type | mycujoo.streaming.v1.Playlist.Type | false | none | none |
url | string | false | none | Playlist used to play the stream. Note that this does not include the generated token required for secure streaming. Please consult the user guide for further details. |
mycujoo.streaming.v1.Playlist.Protocol
"PROTOCOL_UNSPECIFIED"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | PROTOCOL_UNSPECIFIED |
anonymous | PROTOCOL_HLS |
mycujoo.streaming.v1.Playlist.Type
"TYPE_UNSPECIFIED"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | TYPE_UNSPECIFIED |
anonymous | TYPE_ORIGIN |
anonymous | TYPE_CDN |
mycujoo.streaming.v1.PlaylistSecurity
{
"drm": {
"fairplay": true,
"playready": true,
"widevine": true
},
"is_secure_link": true,
"org_secret": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
drm | mycujoo.streaming.v1.DRMTechnologies | false | none | none |
is_secure_link | boolean | false | none | none |
org_secret | string | false | none | none |
mycujoo.streaming.v1.PostClipDownloadResponse
{
"download": {
"full_url": "string",
"size": "string"
},
"download_state": "DOWNLOAD_STATE_UNSPECIFIED"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
download | mycujoo.streaming.v1.ClipDownload | false | none | none |
download_state | mycujoo.streaming.v1.DownloadState | false | none | none |
mycujoo.streaming.v1.PostTranscodingSessionActivityResponse
{}
Properties
None
mycujoo.streaming.v1.PullEndpointUpdate
{
"config_id": "string",
"scene_settings": {
"is_enabled": true,
"key_color": "SCENE_KEY_COLOR_UNSPECIFIED",
"scene_id": "string",
"variables": {
"property1": "string",
"property2": "string"
}
},
"video_representation_id": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
config_id | string | false | none | none |
scene_settings | mycujoo.streaming.v1.EndpointSceneSettings | false | none | none |
video_representation_id | string | false | none | Video representation ID associated with this endpoint. |
mycujoo.streaming.v1.PullIngestEndpoint
{
"endpoint": "string",
"id": "string",
"name": "string",
"protocol": "PULL_INGEST_PROTOCOL_UNSPECIFIED",
"streams": [
{
"status": "PULL_INGEST_STATUS_UNSPECIFIED",
"stream_id": "string"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
endpoint | string | false | none | none |
id | string | false | none | Unique id of the pull ingest endpoint. |
name | string | false | none | none |
protocol | mycujoo.streaming.v1.PullIngestProtocol | false | none | - PULL_INGEST_PROTOCOL_RTMP: RTMPS is simply RTMP with an added layer of security for protected streaming. So they are the same protocol |
streams | [mycujoo.streaming.v1.StreamsPullIngestEndpoint] | false | none | none |
mycujoo.streaming.v1.PullIngestEndpointUpdateFields
{
"endpoint": "string",
"name": "string",
"protocol": "PULL_INGEST_PROTOCOL_UNSPECIFIED"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
endpoint | string | false | none | none |
name | string | false | none | none |
protocol | mycujoo.streaming.v1.PullIngestProtocol | false | none | - PULL_INGEST_PROTOCOL_RTMP: RTMPS is simply RTMP with an added layer of security for protected streaming. So they are the same protocol |
mycujoo.streaming.v1.PullIngestProtocol
"PULL_INGEST_PROTOCOL_UNSPECIFIED"
Pull ingest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
----- |
Pull ingest
-----|string|false|none|- PULL_INGEST_PROTOCOL_RTMP: RTMPS is simply RTMP with an added layer of security
for protected streaming. So they are the same protocol|
Enumerated Values
Property | Value |
---|---|
----- |
Pull ingest -----|PULL_INGEST_PROTOCOL_UNSPECIFIED| |----- Pull ingest -----|PULL_INGEST_PROTOCOL_RTMP| |----- Pull ingest -----|PULL_INGEST_PROTOCOL_SRT| |----- Pull ingest -----|PULL_INGEST_PROTOCOL_HLS| |----- Pull ingest -----|PULL_INGEST_PROTOCOL_DASH| |----- Pull ingest -----|PULL_INGEST_PROTOCOL_RTSP|
mycujoo.streaming.v1.PullIngestStatus
"PULL_INGEST_STATUS_UNSPECIFIED"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | PULL_INGEST_STATUS_UNSPECIFIED |
anonymous | PULL_INGEST_STATUS_CREATING |
anonymous | PULL_INGEST_STATUS_CONNECTING |
anonymous | PULL_INGEST_STATUS_RETRYING |
anonymous | PULL_INGEST_STATUS_STOPPED |
anonymous | PULL_INGEST_STATUS_FAILED |
anonymous | PULL_INGEST_STATUS_ACTIVE |
anonymous | PULL_INGEST_STATUS_DELETING |
mycujoo.streaming.v1.PullIngestTestIamPermissionsRequest
{
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
permissions | [string] | true | none | none |
resource | mycujoo.auth.v1.Resource | true | none | Resource object reference that is used to represent objects in the IAM system. |
mycujoo.streaming.v1.PullIngestTestIamPermissionsResponse
{
"permissions": [
"projects.create",
"projects.update"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
permissions | [string] | false | none | none |
resource | mycujoo.auth.v1.Resource | false | none | Resource object reference that is used to represent objects in the IAM system. |
mycujoo.streaming.v1.PushIngestEndpoint
{
"endpoint": "string",
"in_use": true,
"protocol": "PUSH_INGEST_PROTOCOL_UNSPECIFIED",
"region": "REGION_UNSPECIFIED",
"secure_endpoint": "string",
"secure_uri": "string",
"support_tls": true,
"uri": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
endpoint | string | false | none | none |
in_use | boolean | false | none | Indicates whether you are streaming to this endpoint or not. |
protocol | mycujoo.streaming.v1.PushIngestProtocol | false | none | none |
region | mycujoo.streaming.v1.Region | false | none | none |
secure_endpoint | string | false | none | In the case of TLS support. The value of this field indicates the secure endpoint. |
secure_uri | string | false | none | In the case of TLS support. It has the full URI of the secure ingest endpoint. |
support_tls | boolean | false | none | When enabled, Your traffic will be sent to our servers, encrypted. |
uri | string | false | none | none |
mycujoo.streaming.v1.PushIngestProtocol
"PUSH_INGEST_PROTOCOL_UNSPECIFIED"
Push Ingest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
----- |
Push Ingest -----|string|false|none|none|
Enumerated Values
Property | Value |
---|---|
----- |
Push Ingest -----|PUSH_INGEST_PROTOCOL_UNSPECIFIED| |----- Push Ingest -----|PUSH_INGEST_PROTOCOL_RTMP| |----- Push Ingest -----|PUSH_INGEST_PROTOCOL_SRT|
mycujoo.streaming.v1.PutHostRequest
{
"cdn_name": "string",
"org_id": "string",
"playlist_type": "PLAYLIST_TYPE_UNSPECIFIED",
"project_id": "string",
"region": "REGION_UNSPECIFIED",
"vhost_domain": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
cdn_name | string | false | none | none |
org_id | string | false | none | none |
playlist_type | mycujoo.streaming.v1.PutHostRequest.PlaylistType | false | none | none |
project_id | string | false | none | none |
region | mycujoo.streaming.v1.PutHostRequest.Region | false | none | none |
vhost_domain | string | false | none | none |
mycujoo.streaming.v1.PutHostRequest.PlaylistType
"PLAYLIST_TYPE_UNSPECIFIED"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | PLAYLIST_TYPE_UNSPECIFIED |
anonymous | PLAYLIST_TYPE_RAW |
anonymous | PLAYLIST_TYPE_TRANSCODED |
anonymous | PLAYLIST_TYPE_ALL |
mycujoo.streaming.v1.PutHostRequest.Region
"REGION_UNSPECIFIED"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | REGION_UNSPECIFIED |
anonymous | REGION_EUROPE_WEST |
anonymous | REGION_US_EAST |
anonymous | REGION_SOUTH_AMERICA_EAST |
anonymous | REGION_ASIA_SOUTH_EAST |
mycujoo.streaming.v1.PutHostResponse
{
"host": {
"hosts": {
"property1": {
"raw": "string",
"transcoded": "string"
},
"property2": {
"raw": "string",
"transcoded": "string"
}
}
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
host | mycujoo.streaming.v1.RegionalHosts | false | none | none |
mycujoo.streaming.v1.RecordingAsset
{
"asset_url": "string",
"id": "string",
"is_concatenated": true,
"status": "STATUS_UNSPECIFIED",
"stream_id": "string",
"stream_key": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
asset_url | string | false | none | Returned by the API, cannot be set. A unique URL which is only valid for 48 hours is generated for this asset. Can be NULL if the recording is still running. |
id | string | false | none | none |
is_concatenated | boolean | false | none | none |
status | mycujoo.streaming.v1.RecordingAsset.Status | false | none | none |
stream_id | string | false | none | none |
stream_key | string | false | none | none |
mycujoo.streaming.v1.RecordingAsset.Status
"STATUS_UNSPECIFIED"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | STATUS_UNSPECIFIED |
anonymous | STATUS_DONE |
anonymous | STATUS_FAILED |
mycujoo.streaming.v1.RecordingSettings
{
"autostart": true,
"enabled": true,
"record_during_transcoding": true
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
autostart | boolean | false | none | Start recording while the stream is connected. |
enabled | boolean | false | none | none |
record_during_transcoding | boolean | false | none | Enable/disable recording while transcoding is active. NOTE: When this is set regular autostart is ignored. |
mycujoo.streaming.v1.Region
"REGION_UNSPECIFIED"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | REGION_UNSPECIFIED |
anonymous | REGION_EUROPE_WEST |
anonymous | REGION_US_EAST |
anonymous | REGION_SOUTH_AMERICA_EAST |
anonymous | REGION_ASIA_SOUTH_EAST |
anonymous | REGION_AUTODETECT |
mycujoo.streaming.v1.RegionalHosts
{
"hosts": {
"property1": {
"raw": "string",
"transcoded": "string"
},
"property2": {
"raw": "string",
"transcoded": "string"
}
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
hosts | object | false | none | none |
ยป additionalProperties | mycujoo.streaming.v1.Host | false | none | none |
mycujoo.streaming.v1.RestartPushEndpointResponse
{}
Properties
None
mycujoo.streaming.v1.RestartStreamPullIngestResponse
{}
Properties
None
mycujoo.streaming.v1.SampleStats
{
"audio_bit_rate": 0,
"video_bit_rate": 0,
"video_frame_rate": 0.1,
"video_key_frame_consistent": true,
"video_key_frame_interval": 0.1,
"video_resolution": 0
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
audio_bit_rate | integer(int32) | false | none | Audio bit rate in kbps. |
video_bit_rate | integer(int32) | false | none | Video bit rate in kbps. |
video_frame_rate | number(double) | false | none | Video frame rate in frames per second (fps). |
video_key_frame_consistent | boolean | false | none | Whether the key frame interval (KFI) is consistent with the previous data set. This is to flag cases where due to change of frame rate, or encoder problems can trouble key frame generation. |
video_key_frame_interval | number(double) | false | none | Video key frame interval (KFI). A key frame is created in every interval. |
video_resolution | integer(int32) | false | none | Video resolution in pixels being sent to the RTMP server. |
mycujoo.streaming.v1.SceneSettings
{
"is_enabled": true,
"key_color": "SCENE_KEY_COLOR_UNSPECIFIED",
"scene_id": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
is_enabled | boolean | false | none | is_enabled is a flag that indicates whether the scene integration is enabled. The chosen scene will be rendered and applied to the main feed. |
key_color | mycujoo.streaming.v1.SceneSettings.SceneKeyColor | false | none | none |
scene_id | string | false | none | The scene id to be used for the feed. |
mycujoo.streaming.v1.SceneSettings.SceneKeyColor
"SCENE_KEY_COLOR_UNSPECIFIED"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | SCENE_KEY_COLOR_UNSPECIFIED |
anonymous | SCENE_KEY_COLOR_BLACK |
anonymous | SCENE_KEY_COLOR_GREEN |
anonymous | SCENE_KEY_COLOR_BLUE |
mycujoo.streaming.v1.SecureKey
{
"key": "string",
"version": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
key | string | false | none | The key used to generate secure links. Generated by API, cannot be set. |
version | string | false | none | Version of the secure key. Generated by API, cannot be set. |
mycujoo.streaming.v1.SecureKeyUpdate
{
"version": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
version | string | false | none | Send version returned by GetSecureKey to avoid conflicting updates. |
mycujoo.streaming.v1.SessionActivity
{
"activities": [
{
"timestamp": "2019-08-24T14:15:22Z",
"type": "string"
}
],
"id": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
activities | [mycujoo.streaming.v1.Activity] | false | none | none |
id | string | false | none | none |
mycujoo.streaming.v1.SetClipIamPolicyResponse
{}
When there is no error result is empty
Properties
None
mycujoo.streaming.v1.SetConfigIamPolicyResponse
{}
When there is no error result is empty
Properties
None
mycujoo.streaming.v1.SetPullIngestIamPolicyResponse
{}
When there is no error result is empty
Properties
None
mycujoo.streaming.v1.SetStreamIamPolicyResponse
{}
When there is no error result is empty
Properties
None
mycujoo.streaming.v1.SetVideoRepresentationIamPolicyResponse
{}
When there is no error result is empty
Properties
None
mycujoo.streaming.v1.StartConcatRecordingsRequest.Format
"FORMAT_UNSPECIFIED"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | FORMAT_UNSPECIFIED |
anonymous | FORMAT_FLV |
anonymous | FORMAT_MP4 |
anonymous | FORMAT_TS |
mycujoo.streaming.v1.StartConcatRecordingsResponse
{}
Properties
None
mycujoo.streaming.v1.StartPushEndpointResponse
{}
Properties
None
mycujoo.streaming.v1.StartStreamPullIngestResponse
{}
Properties
None
mycujoo.streaming.v1.StartTranscodingImportResponse
{}
Properties
None
mycujoo.streaming.v1.StartTranscodingResponse
{
"transcoding": {
"id": "string",
"progress": 100,
"start_offset": 0,
"state": "STATE_UNSPECIFIED",
"status": "STATUS_UNSPECIFIED",
"stream_id": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
transcoding | mycujoo.streaming.v1.Transcoding | false | none | none |
mycujoo.streaming.v1.StopPushEndpointResponse
{}
Properties
None
mycujoo.streaming.v1.StopRecordingResponse
{}
Properties
None
mycujoo.streaming.v1.StopStreamPullIngestResponse
{}
Properties
None
mycujoo.streaming.v1.StopTranscodingResponse
{
"transcoding": {
"id": "string",
"progress": 100,
"start_offset": 0,
"state": "STATE_UNSPECIFIED",
"status": "STATUS_UNSPECIFIED",
"stream_id": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
transcoding | mycujoo.streaming.v1.Transcoding | false | none | none |
mycujoo.streaming.v1.Stream
{
"config": {
"auto_enable_vpn_blocking": true,
"default": true,
"dvr_settings": {
"automatic_vod": true,
"enabled": true,
"stop_transcoding_full_dvr": true,
"window_size": 1
},
"enable_pull_endpoint": true,
"enable_raw_pull_endpoint": true,
"id": "string",
"is_system": true,
"name": "string",
"recording_settings": {
"autostart": true,
"enabled": true,
"record_during_transcoding": true
},
"scene_settings": {
"is_enabled": true,
"key_color": "SCENE_KEY_COLOR_UNSPECIFIED",
"scene_id": "string"
},
"secure_link": true,
"transcoding_settings": {
"audio_bitrate": 32,
"autostart": true,
"drm": {
"fairplay": true,
"playready": true,
"widevine": true
},
"enabled": true,
"follow_source_fps": true,
"gop": 25,
"interlacing_filter_mode": "INTERLACING_FILTER_MODE_UNSPECIFIED",
"key_frame_interval": 1,
"level": 0.1,
"llhls_settings": {
"is_enabled": true,
"part_size": 250,
"segment_count": 10,
"segment_size": 1
},
"low_latency": true,
"profile": "TRANSCODING_PROFILE_UNSPECIFIED",
"segment_size": 1,
"tracking_pixel": true,
"use_cdn": true,
"video_representation_ids": [
"string"
],
"watermark": {
"enabled": true,
"url": "https://images.mls.mycujoo.tv/example.png"
}
}
},
"config_id": "string",
"connection_time_seconds": 0,
"endpoint": "string",
"external_video_source": "string",
"id": "string",
"incoming_feed": {
"device": {
"flash_version": "string",
"name": "string"
},
"http_flv_endpoint": "string",
"is_active": true,
"protocol": "INGEST_PROTOCOL_UNSPECIFIED",
"session_id": "string"
},
"incoming_feed_flv": "string",
"is_active": true,
"is_enabled": true,
"is_public": true,
"is_published": true,
"key": "string",
"media_source_id": "string",
"playlists": [
{
"id": "string",
"is_enabled": true,
"is_transcoded": true,
"is_updating": true,
"is_vod": true,
"protocol": "PROTOCOL_UNSPECIFIED",
"type": "TYPE_UNSPECIFIED",
"url": "string"
}
],
"project_id": "string",
"pull_endpoints": [
{
"config_id": "string",
"endpoint": "string",
"id": "string",
"is_transcoded": true,
"protocol": "PROTOCOL_UNSPECIFIED",
"scene_settings": {
"is_enabled": true,
"key_color": "SCENE_KEY_COLOR_UNSPECIFIED",
"scene_id": "string",
"variables": {
"property1": "string",
"property2": "string"
}
},
"video_representation_id": "string"
}
],
"pull_ingest_id": "string",
"push_endpoints": [
{
"config_id": "qurnvkspnrjqk",
"endpoint": "rtmp://something/live",
"protocol": "RTMP",
"stream_id": "abcdefghi"
}
],
"push_ingest_endpoints": [
{
"endpoint": "string",
"in_use": true,
"protocol": "PUSH_INGEST_PROTOCOL_UNSPECIFIED",
"region": "REGION_UNSPECIFIED",
"secure_endpoint": "string",
"secure_uri": "string",
"support_tls": true,
"uri": "string"
}
],
"region": "REGION_UNSPECIFIED",
"stats": {
"audio_bit_rate": 0,
"audios": [
{
"bit_rate": 0,
"channel_layout": "string",
"channels": 0,
"codec": "string",
"codec_long_name": "string",
"codec_type": "string",
"index": 0,
"profile": "string",
"sample_fmt": "string",
"sample_rate": 0
}
],
"connection_count": 0,
"sample": {
"audio_bit_rate": 0,
"video_bit_rate": 0,
"video_frame_rate": 0.1,
"video_key_frame_consistent": true,
"video_key_frame_interval": 0.1,
"video_resolution": 0
},
"video_bit_rate": 0,
"video_frame_rate": 0.1,
"video_key_frame_consistent": true,
"video_key_frame_interval": 0.1,
"video_resolution": 0,
"videos": [
{
"bit_rate": 0,
"codec": "string",
"codec_long_name": "string",
"codec_type": "string",
"frame_rate": 0.1,
"height": 0,
"index": 0,
"level": 0,
"pix_fmt": "string",
"profile": "string",
"resolution": 0,
"start_pts": 0,
"width": 0
}
]
},
"title": "string",
"transcoding_state": "STATE_UNSPECIFIED",
"transcoding_time_seconds": 0,
"type": "TYPE_UNSPECIFIED",
"upload_id": "string",
"vod_asset_id": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
config | mycujoo.streaming.v1.StreamConfig | false | none | none |
config_id | string | false | none | none |
connection_time_seconds | integer(int32) | false | none | Connection time (ingest signal) in seconds for the stream. |
endpoint | string | false | none | Returned by the API, cannot be set. Returned only when type = live. example: 'rtmp://mls-eu.mycujoo.stream:1935/live' This field is deprecated; Please use endpoints field instead. |
external_video_source | string | false | none | Full URL to a valid external video file. cannot be set if upload_id is set. Only valid when type = static. Deprecated: It's not used anymore. |
id | string | false | none | none |
incoming_feed | mycujoo.streaming.v1.FeedDetail | false | none | none |
incoming_feed_flv | string | false | none | The HTTP-FLV endpoint for the incoming feed for use in the console. Requires a valid bearer token. This field is deprecated; Please use incoming_feed.http_flv_endpoint field instead. |
is_active | boolean | false | none | none |
is_enabled | boolean | false | none | none |
is_public | boolean | false | none | Indicates if the stream should be considered public to the viewers. |
is_published | boolean | false | none | none |
key | string | false | none | The unique stream key required to stream to MLS endpoints. Returned by the API, cannot be set. Returned only when type = live. |
media_source_id | string | false | none | Unique ID of the Media Source for this stream. Media Source contains the feed information, from which the stream can get its content. |
playlists | [mycujoo.streaming.v1.Playlist] | false | none | none |
project_id | string | false | none | none |
pull_endpoints | [mycujoo.streaming.v1.StreamPullEndpoint] | false | none | Returned by the API, cannot be set. Returned only when type = live. |
pull_ingest_id | string | false | none | Indicates the selected pull ingest id. It can be empty if the stream doesn't have any pull ingest. |
push_endpoints | [mycujoo.streaming.v1.StreamPushEndpoint] | false | none | none |
push_ingest_endpoints | [mycujoo.streaming.v1.PushIngestEndpoint] | false | none | Returned by the API, cannot be set or modified Contains all available ingest endpoints that you can use to start your stream. |
region | mycujoo.streaming.v1.Region | false | none | none |
stats | mycujoo.streaming.v1.StreamStats | false | none | none |
title | string | false | none | title of the stream. Used to identify the stream. |
transcoding_state | mycujoo.streaming.v1.Stream.State | false | none | none |
transcoding_time_seconds | integer(int32) | false | none | Transcoding time in seconds for the stream. 0 if transcoding is not started yet. |
type | mycujoo.streaming.v1.Type | false | none | none |
upload_id | string | false | none | Use an uploaded video as a source for this stream. Only valid when type = static. Deprecated: In favor of vod_asset_id. |
vod_asset_id | string | false | none | Unique ID of the VOD Asset for this stream. VOD Asset contains the VOD information, from which the stream can get its content. It refers to the MCLS Asset ID that is created from the Asset Service. |
mycujoo.streaming.v1.Stream.State
"STATE_UNSPECIFIED"
TODO: remove this once we have a better solution (i.e. webhooks) for polling Transcoding state enum
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
TODO: remove this once we have a better solution (i.e. webhooks) for polling | ||||
Transcoding state enum | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
TODO: remove this once we have a better solution (i.e. webhooks) for polling | |
Transcoding state enum | STATE_UNSPECIFIED |
TODO: remove this once we have a better solution (i.e. webhooks) for polling | |
Transcoding state enum | STATE_ACTIVE |
TODO: remove this once we have a better solution (i.e. webhooks) for polling | |
Transcoding state enum | STATE_INACTIVE |
TODO: remove this once we have a better solution (i.e. webhooks) for polling | |
Transcoding state enum | STATE_SCHEDULED |
mycujoo.streaming.v1.StreamConfig
{
"auto_enable_vpn_blocking": true,
"default": true,
"dvr_settings": {
"automatic_vod": true,
"enabled": true,
"stop_transcoding_full_dvr": true,
"window_size": 1
},
"enable_pull_endpoint": true,
"enable_raw_pull_endpoint": true,
"id": "string",
"is_system": true,
"name": "string",
"recording_settings": {
"autostart": true,
"enabled": true,
"record_during_transcoding": true
},
"scene_settings": {
"is_enabled": true,
"key_color": "SCENE_KEY_COLOR_UNSPECIFIED",
"scene_id": "string"
},
"secure_link": true,
"transcoding_settings": {
"audio_bitrate": 32,
"autostart": true,
"drm": {
"fairplay": true,
"playready": true,
"widevine": true
},
"enabled": true,
"follow_source_fps": true,
"gop": 25,
"interlacing_filter_mode": "INTERLACING_FILTER_MODE_UNSPECIFIED",
"key_frame_interval": 1,
"level": 0.1,
"llhls_settings": {
"is_enabled": true,
"part_size": 250,
"segment_count": 10,
"segment_size": 1
},
"low_latency": true,
"profile": "TRANSCODING_PROFILE_UNSPECIFIED",
"segment_size": 1,
"tracking_pixel": true,
"use_cdn": true,
"video_representation_ids": [
"string"
],
"watermark": {
"enabled": true,
"url": "https://images.mls.mycujoo.tv/example.png"
}
}
}
Stream configuration
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
auto_enable_vpn_blocking | boolean | false | none | none |
default | boolean | false | none | If set to true, this config will be the new default configuration. |
dvr_settings | mycujoo.streaming.v1.DVRSettings | false | none | none |
enable_pull_endpoint | boolean | false | none | none |
enable_raw_pull_endpoint | boolean | false | none | none |
id | string | false | none | none |
is_system | boolean | false | none | none |
name | string | false | none | none |
recording_settings | mycujoo.streaming.v1.RecordingSettings | false | none | none |
scene_settings | mycujoo.streaming.v1.SceneSettings | false | none | none |
secure_link | boolean | false | none | Enable secure link functionality for the playlists. See user guide for details. |
transcoding_settings | mycujoo.streaming.v1.TranscodingSettings | false | none | none |
mycujoo.streaming.v1.StreamConfigUpdate
{
"auto_enable_vpn_blocking": true,
"default": true,
"dvr_settings": {
"automatic_vod": true,
"enabled": true,
"stop_transcoding_full_dvr": true,
"window_size": 1
},
"enable_pull_endpoint": true,
"enable_raw_pull_endpoint": true,
"name": "string",
"recording_settings": {
"autostart": true,
"enabled": true,
"record_during_transcoding": true
},
"scene_settings": {
"is_enabled": true,
"key_color": "SCENE_KEY_COLOR_UNSPECIFIED",
"scene_id": "string"
},
"secure_link": true,
"transcoding_settings": {
"audio_bitrate": 32,
"autostart": true,
"drm": {
"fairplay": true,
"playready": true,
"widevine": true
},
"enabled": true,
"follow_source_fps": true,
"gop": 25,
"interlacing_filter_mode": "INTERLACING_FILTER_MODE_UNSPECIFIED",
"key_frame_interval": 1,
"level": 0.1,
"llhls_settings": {
"is_enabled": true,
"part_size": 250,
"segment_count": 10,
"segment_size": 1
},
"low_latency": true,
"profile": "TRANSCODING_PROFILE_UNSPECIFIED",
"segment_size": 1,
"tracking_pixel": true,
"use_cdn": true,
"video_representation_ids": [
"string"
],
"watermark": {
"enabled": true,
"url": "https://images.mls.mycujoo.tv/example.png"
}
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
auto_enable_vpn_blocking | boolean | false | none | none |
default | boolean | false | none | If set to true, this config will be the new default configuration. |
dvr_settings | mycujoo.streaming.v1.DVRSettings | false | none | none |
enable_pull_endpoint | boolean | false | none | Enable the incoming feed to be pulled via a custom endpoint, will be generated if set to true during creation. |
enable_raw_pull_endpoint | boolean | false | none | none |
name | string | false | none | none |
recording_settings | mycujoo.streaming.v1.RecordingSettings | false | none | none |
scene_settings | mycujoo.streaming.v1.SceneSettings | false | none | none |
secure_link | boolean | false | none | Enable secure link functionality for the playlists. See user guide for details. |
transcoding_settings | mycujoo.streaming.v1.TranscodingSettings | false | none | none |
mycujoo.streaming.v1.StreamPullConfig
{
"config_id": "string",
"video_representation_id": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
config_id | string | false | none | none |
video_representation_id | string | false | none | Video representation ID associated with this endpoint. |
mycujoo.streaming.v1.StreamPullEndpoint
{
"config_id": "string",
"endpoint": "string",
"id": "string",
"is_transcoded": true,
"protocol": "PROTOCOL_UNSPECIFIED",
"scene_settings": {
"is_enabled": true,
"key_color": "SCENE_KEY_COLOR_UNSPECIFIED",
"scene_id": "string",
"variables": {
"property1": "string",
"property2": "string"
}
},
"video_representation_id": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
config_id | string | false | none | none |
endpoint | string | false | none | none |
id | string | false | none | none |
is_transcoded | boolean | false | none | none |
protocol | mycujoo.streaming.v1.StreamPullEndpoint.Protocol | false | none | none |
scene_settings | mycujoo.streaming.v1.EndpointSceneSettings | false | none | none |
video_representation_id | string | false | none | Video representation ID associated with this endpoint. |
mycujoo.streaming.v1.StreamPullEndpoint.Protocol
"PROTOCOL_UNSPECIFIED"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | PROTOCOL_UNSPECIFIED |
anonymous | PROTOCOL_RTMP |
anonymous | PROTOCOL_HLS |
anonymous | PROTOCOL_HTTP_FLV |
anonymous | PROTOCOL_SRT |
mycujoo.streaming.v1.StreamPullIngestEndpoint
{
"endpoint": "string",
"id": "string",
"name": "string",
"protocol": "PULL_INGEST_PROTOCOL_UNSPECIFIED",
"status": "PULL_INGEST_STATUS_UNSPECIFIED",
"stream_id": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
endpoint | string | false | none | none |
id | string | false | none | Unique id of the pull ingest endpoint. |
name | string | false | none | none |
protocol | mycujoo.streaming.v1.PullIngestProtocol | false | none | - PULL_INGEST_PROTOCOL_RTMP: RTMPS is simply RTMP with an added layer of security for protected streaming. So they are the same protocol |
status | mycujoo.streaming.v1.PullIngestStatus | false | none | none |
stream_id | string | false | none | Unique id of the stream. |
mycujoo.streaming.v1.StreamPushEndpoint
{
"config_id": "qurnvkspnrjqk",
"endpoint": "rtmp://something/live",
"protocol": "RTMP",
"stream_id": "abcdefghi"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
added_latency_seconds | integer(int32) | false | none | none |
config_id | string | false | none | none |
endpoint | string | false | none | none |
id | string | false | none | none |
name | string | false | none | none |
protocol | mycujoo.streaming.v1.StreamPushEndpoint.Protocol | false | none | none |
scene_settings | mycujoo.streaming.v1.EndpointSceneSettings | false | none | none |
status | mycujoo.streaming.v1.StreamPushEndpoint.Status | false | none | none |
video_representation_id | string | false | none | Video representation ID associated with this endpoint. |
mycujoo.streaming.v1.StreamPushEndpoint.Protocol
"PROTOCOL_UNSPECIFIED"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | PROTOCOL_UNSPECIFIED |
anonymous | PROTOCOL_RTMP |
anonymous | PROTOCOL_HLS |
anonymous | PROTOCOL_SRT |
mycujoo.streaming.v1.StreamPushEndpoint.Status
"STATUS_UNSPECIFIED"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | STATUS_UNSPECIFIED |
anonymous | STATUS_RUNNING |
anonymous | STATUS_STOPPED |
anonymous | STATUS_FAILED |
anonymous | STATUS_SCHEDULED |
mycujoo.streaming.v1.StreamStats
{
"audio_bit_rate": 0,
"audios": [
{
"bit_rate": 0,
"channel_layout": "string",
"channels": 0,
"codec": "string",
"codec_long_name": "string",
"codec_type": "string",
"index": 0,
"profile": "string",
"sample_fmt": "string",
"sample_rate": 0
}
],
"connection_count": 0,
"sample": {
"audio_bit_rate": 0,
"video_bit_rate": 0,
"video_frame_rate": 0.1,
"video_key_frame_consistent": true,
"video_key_frame_interval": 0.1,
"video_resolution": 0
},
"video_bit_rate": 0,
"video_frame_rate": 0.1,
"video_key_frame_consistent": true,
"video_key_frame_interval": 0.1,
"video_resolution": 0,
"videos": [
{
"bit_rate": 0,
"codec": "string",
"codec_long_name": "string",
"codec_type": "string",
"frame_rate": 0.1,
"height": 0,
"index": 0,
"level": 0,
"pix_fmt": "string",
"profile": "string",
"resolution": 0,
"start_pts": 0,
"width": 0
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
audio_bit_rate | integer(int32) | false | none | Audio bit rate in kbps. This field is deprecated; Please use sample.audio_bit_rate field instead. |
audios | [mycujoo.streaming.v1.AudioStats] | false | none | none |
connection_count | integer(int32) | false | none | Amount of reconnections in this stream. |
sample | mycujoo.streaming.v1.SampleStats | false | none | none |
video_bit_rate | integer(int32) | false | none | Video bit rate in kbps. This field is deprecated; Please use sample.video_bit_rate field instead. |
video_frame_rate | number(double) | false | none | Video frame rate in frames per second (fps). This field is deprecated; Please use sample.video_frame_rate field instead. |
video_key_frame_consistent | boolean | false | none | Whether the key frame interval (KFI) is consistent with the previous data set. This is to flag cases where due to change of frame rate, or encoder problems can trouble key frame generation. This field is deprecated; Please use sample.video_key_frame_consistent field instead. |
video_key_frame_interval | number(double) | false | none | Video key frame interval (KFI). A key frame is created in every interval. This field is deprecated; Please use sample.video_key_frame_interval field instead. |
video_resolution | integer(int32) | false | none | Video resolution in pixels being sent to the RTMP server. This field is deprecated; Please use sample.video_resolution field instead. |
videos | [mycujoo.streaming.v1.VideoStats] | false | none | none |
mycujoo.streaming.v1.StreamStatsPoint
{
"audio_bit_rate": 0,
"connection_count": 0,
"key_frame_consistent": true,
"key_frame_interval": 0.1,
"time": "2019-08-24T14:15:22Z",
"video_bit_rate": 0,
"video_fps": 0.1,
"video_height": 0
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
audio_bit_rate | integer(int32) | false | none | none |
connection_count | integer(int32) | false | none | none |
key_frame_consistent | boolean | false | none | none |
key_frame_interval | number(float) | false | none | none |
time | string(date-time) | false | none | none |
video_bit_rate | integer(int32) | false | none | none |
video_fps | number(float) | false | none | none |
video_height | integer(int32) | false | none | none |
mycujoo.streaming.v1.StreamTestIamPermissionsRequest
{
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
permissions | [string] | true | none | none |
resource | mycujoo.auth.v1.Resource | true | none | Resource object reference that is used to represent objects in the IAM system. |
mycujoo.streaming.v1.StreamTestIamPermissionsResponse
{
"permissions": [
"projects.create",
"projects.update"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
permissions | [string] | false | none | none |
resource | mycujoo.auth.v1.Resource | false | none | Resource object reference that is used to represent objects in the IAM system. |
mycujoo.streaming.v1.StreamUpdate
{
"config_id": "string",
"external_video_source": "string",
"is_enabled": true,
"is_public": true,
"is_published": true,
"media_source_id": "string",
"project_id": "string",
"pull_config": {
"config_id": "string",
"video_representation_id": "string"
},
"pull_ingest_id": "string",
"push_endpoints": [
{
"config_id": "qurnvkspnrjqk",
"endpoint": "rtmp://something/live",
"protocol": "RTMP",
"stream_id": "abcdefghi"
}
],
"region": "REGION_UNSPECIFIED",
"title": "string",
"type": "TYPE_UNSPECIFIED",
"upload_id": "string",
"vod_asset_id": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
config_id | string | false | none | none |
external_video_source | string | false | none | Full URL to a valid external video file. |
is_enabled | boolean | false | none | none |
is_public | boolean | false | none | indicates if the stream should be considered public to the viewers. |
is_published | boolean | false | none | none |
media_source_id | string | false | none | Optional. Unique ID of the Media Source to attach to the stream. If left empty, a Media Source will be created automatically. |
project_id | string | false | none | none |
pull_config | mycujoo.streaming.v1.StreamPullConfig | false | none | none |
pull_ingest_id | string | false | none | none |
push_endpoints | [mycujoo.streaming.v1.StreamPushEndpoint] | false | none | none |
region | mycujoo.streaming.v1.Region | false | none | none |
title | string | false | none | title of the stream. Used to identify the stream. |
type | mycujoo.streaming.v1.Type | false | none | none |
upload_id | string | false | none | Use an uploaded video as a source for this stream. |
vod_asset_id | string | false | none | Unique ID of the Media Source for this stream. Media Source contains the feed information, from which the stream can get its content. It only can be set when the stream type is static . It turns immutable once the stream has been processed by the transcoder. |
mycujoo.streaming.v1.StreamerDevice
{
"flash_version": "string",
"name": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
flash_version | string | false | none | none |
name | string | false | none | none |
mycujoo.streaming.v1.StreamingConfigTestIamPermissionsRequest
{
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
permissions | [string] | true | none | none |
resource | mycujoo.auth.v1.Resource | true | none | Resource object reference that is used to represent objects in the IAM system. |
mycujoo.streaming.v1.StreamingConfigTestIamPermissionsResponse
{
"permissions": [
"projects.create",
"projects.update"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
permissions | [string] | false | none | none |
resource | mycujoo.auth.v1.Resource | false | none | Resource object reference that is used to represent objects in the IAM system. |
mycujoo.streaming.v1.StreamsPullIngestEndpoint
{
"status": "PULL_INGEST_STATUS_UNSPECIFIED",
"stream_id": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
status | mycujoo.streaming.v1.PullIngestStatus | false | none | none |
stream_id | string | false | none | Unique id of the stream. |
mycujoo.streaming.v1.Transcoding
{
"id": "string",
"progress": 100,
"start_offset": 0,
"state": "STATE_UNSPECIFIED",
"status": "STATUS_UNSPECIFIED",
"stream_id": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | none |
progress | integer(int32) | false | none | Generated by the API, cannot be set. Only valid when type = static. |
start_offset | integer(int32) | false | none | Position in the source where transcoding should start from. Only valid when type = static. |
state | mycujoo.streaming.v1.Transcoding.State | false | none | State shows what the jobโs state is at the moment. Example: - State(STATE_UNSPECIFIED): Job never has been started (gray) - State(STATE_ACTIVE): Job at this moment is active (green) - State(STATE_INACTIVE): Job at this moment is inactive (gray) - State(STATE_SCHEDULED): Job has been scheduled and will be running in a few seconds (yellow) |
status | mycujoo.streaming.v1.Transcoding.Status | false | none | Example: - Status(STATUS_UNSPECIFIED): Job never has been started or at this moment the job's State is ACTIVE (gray) - Status(STATUS_COMPLETED): Job was Completed in the last running (green) - Status(STATUS_FAILED): Job was Failed in the last running (red) - Status(STATUS_TERMINATED): Job was Terminated in the last running (orange) |
stream_id | string | false | none | none |
mycujoo.streaming.v1.Transcoding.State
"STATE_UNSPECIFIED"
State shows what the jobโs state is at the moment.
Example: - State(STATE_UNSPECIFIED): Job never has been started (gray) - State(STATE_ACTIVE): Job at this moment is active (green) - State(STATE_INACTIVE): Job at this moment is inactive (gray) - State(STATE_SCHEDULED): Job has been scheduled and will be running in a few seconds (yellow)
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | State shows what the jobโs state is at the moment. Example: - State(STATE_UNSPECIFIED): Job never has been started (gray) - State(STATE_ACTIVE): Job at this moment is active (green) - State(STATE_INACTIVE): Job at this moment is inactive (gray) - State(STATE_SCHEDULED): Job has been scheduled and will be running in a few seconds (yellow) |
Enumerated Values
Property | Value |
---|---|
anonymous | STATE_UNSPECIFIED |
anonymous | STATE_ACTIVE |
anonymous | STATE_INACTIVE |
anonymous | STATE_SCHEDULED |
mycujoo.streaming.v1.Transcoding.Status
"STATUS_UNSPECIFIED"
Status shows the last status of the operation before any termination signals
If State
is equal to STATE_UNSPECIFIED
or STATE_ACTIVE
then the Status
would be STATUS_UNSPECIFIED
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Status shows the last status of the operation before any termination signals | ||||
If State is equal to STATE_UNSPECIFIED or STATE_ACTIVE then the Status would be STATUS_UNSPECIFIED |
string | false | none | Example: - Status(STATUS_UNSPECIFIED): Job never has been started or at this moment the job's State is ACTIVE (gray) - Status(STATUS_COMPLETED): Job was Completed in the last running (green) - Status(STATUS_FAILED): Job was Failed in the last running (red) - Status(STATUS_TERMINATED): Job was Terminated in the last running (orange) |
Enumerated Values
Property | Value |
---|---|
Status shows the last status of the operation before any termination signals | |
If State is equal to STATE_UNSPECIFIED or STATE_ACTIVE then the Status would be STATUS_UNSPECIFIED |
STATUS_UNSPECIFIED |
Status shows the last status of the operation before any termination signals | |
If State is equal to STATE_UNSPECIFIED or STATE_ACTIVE then the Status would be STATUS_UNSPECIFIED |
STATUS_COMPLETED |
Status shows the last status of the operation before any termination signals | |
If State is equal to STATE_UNSPECIFIED or STATE_ACTIVE then the Status would be STATUS_UNSPECIFIED |
STATUS_FAILED |
Status shows the last status of the operation before any termination signals | |
If State is equal to STATE_UNSPECIFIED or STATE_ACTIVE then the Status would be STATUS_UNSPECIFIED |
STATUS_TERMINATED |
mycujoo.streaming.v1.TranscodingImport
{
"playlist_url": "string",
"starting_segment": 0
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
playlist_url | string | false | none | none |
starting_segment | integer(int32) | false | none | none |
mycujoo.streaming.v1.TranscodingOffset
{
"start_offset": 0
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
start_offset | integer(int32) | false | none | Position in the source where transcoding should start from. Only valid when type = static. |
mycujoo.streaming.v1.TranscodingSessionActivity
{
"create_time": "2019-08-24T14:15:22Z",
"duration": 0.1,
"is_session_active": true,
"session_id": "string",
"source_ingest_ip": "string",
"update_time": "2019-08-24T14:15:22Z"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
create_time | string(date-time) | false | none | none |
duration | number(float) | false | none | none |
is_session_active | boolean | false | none | none |
session_id | string | false | none | none |
source_ingest_ip | string | false | none | none |
update_time | string(date-time) | false | none | none |
mycujoo.streaming.v1.TranscodingSettings
{
"audio_bitrate": 32,
"autostart": true,
"drm": {
"fairplay": true,
"playready": true,
"widevine": true
},
"enabled": true,
"follow_source_fps": true,
"gop": 25,
"interlacing_filter_mode": "INTERLACING_FILTER_MODE_UNSPECIFIED",
"key_frame_interval": 1,
"level": 0.1,
"llhls_settings": {
"is_enabled": true,
"part_size": 250,
"segment_count": 10,
"segment_size": 1
},
"low_latency": true,
"profile": "TRANSCODING_PROFILE_UNSPECIFIED",
"segment_size": 1,
"tracking_pixel": true,
"use_cdn": true,
"video_representation_ids": [
"string"
],
"watermark": {
"enabled": true,
"url": "https://images.mls.mycujoo.tv/example.png"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
audio_bitrate | integer(int32) | false | none | none |
autostart | boolean | false | none | Start transcoding when the stream has connected. |
drm | mycujoo.streaming.v1.DRMTechnologies | false | none | none |
enabled | boolean | false | none | none |
follow_source_fps | boolean | false | none | none |
gop | integer(int32) | false | none | none |
interlacing_filter_mode | mycujoo.streaming.v1.TranscodingSettings.InterlacingFilterMode | false | none | none |
key_frame_interval | integer(int32) | false | none | none |
level | number(double) | false | none | none |
llhls_settings | mycujoo.streaming.v1.LLHLSSettings | false | none | none |
low_latency | boolean | false | none | add additional configuration option required for low-latency streaming. Note that quality will suffer in favor of speed. |
profile | mycujoo.streaming.v1.TranscodingSettings.TranscodingProfile | false | none | none |
segment_size | integer(int32) | false | none | Sets the maximum size a video segment can be. Can never be less than GOP / Framerate (GOP 60 and framerate 30 = 2) It belongs to the HLS specification and is used to determine the segment duration. |
tracking_pixel | boolean | false | none | none |
use_cdn | boolean | false | none | Use a CDN for the playlists. If not set only the origin playlist will be sent. Note that egress charges will be higher for origin traffic than CDN traffic. Disable only when a custom CDN provider is used. |
video_representation_ids | [string] | false | none | none |
watermark | mycujoo.streaming.v1.Watermark | false | none | none |
mycujoo.streaming.v1.TranscodingSettings.InterlacingFilterMode
"INTERLACING_FILTER_MODE_UNSPECIFIED"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | INTERLACING_FILTER_MODE_UNSPECIFIED |
anonymous | INTERLACING_FILTER_MODE_INTERLACE |
anonymous | INTERLACING_FILTER_MODE_DEINTERLACE |
mycujoo.streaming.v1.TranscodingSettings.TranscodingProfile
"TRANSCODING_PROFILE_UNSPECIFIED"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | TRANSCODING_PROFILE_UNSPECIFIED |
anonymous | TRANSCODING_PROFILE_BASELINE |
anonymous | TRANSCODING_PROFILE_MAIN |
anonymous | TRANSCODING_PROFILE_HIGH |
mycujoo.streaming.v1.Type
"TYPE_UNSPECIFIED"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | TYPE_UNSPECIFIED |
anonymous | TYPE_LIVE |
anonymous | TYPE_STATIC |
mycujoo.streaming.v1.UpdateClipResponse
{
"clip": {
"actual_duration": 0,
"actual_position": 0,
"created_time": "2019-08-24T14:15:22Z",
"download": {
"full_url": "string",
"size": "string"
},
"download_state": "DOWNLOAD_STATE_UNSPECIFIED",
"full_url": "string",
"id": "string",
"state": "CLIP_STATE_UNSPECIFIED",
"stream_id": "string",
"title": "string",
"updated_time": "2019-08-24T14:15:22Z"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
clip | mycujoo.streaming.v1.ClipResponse | false | none | none |
mycujoo.streaming.v1.UpdateConfigResponse
{
"stream_config": {
"auto_enable_vpn_blocking": true,
"default": true,
"dvr_settings": {
"automatic_vod": true,
"enabled": true,
"stop_transcoding_full_dvr": true,
"window_size": 1
},
"enable_pull_endpoint": true,
"enable_raw_pull_endpoint": true,
"id": "string",
"is_system": true,
"name": "string",
"recording_settings": {
"autostart": true,
"enabled": true,
"record_during_transcoding": true
},
"scene_settings": {
"is_enabled": true,
"key_color": "SCENE_KEY_COLOR_UNSPECIFIED",
"scene_id": "string"
},
"secure_link": true,
"transcoding_settings": {
"audio_bitrate": 32,
"autostart": true,
"drm": {
"fairplay": true,
"playready": true,
"widevine": true
},
"enabled": true,
"follow_source_fps": true,
"gop": 25,
"interlacing_filter_mode": "INTERLACING_FILTER_MODE_UNSPECIFIED",
"key_frame_interval": 1,
"level": 0.1,
"llhls_settings": {
"is_enabled": true,
"part_size": 250,
"segment_count": 10,
"segment_size": 1
},
"low_latency": true,
"profile": "TRANSCODING_PROFILE_UNSPECIFIED",
"segment_size": 1,
"tracking_pixel": true,
"use_cdn": true,
"video_representation_ids": [
"string"
],
"watermark": {
"enabled": true,
"url": "https://images.mls.mycujoo.tv/example.png"
}
}
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
stream_config | mycujoo.streaming.v1.StreamConfig | false | none | none |
mycujoo.streaming.v1.UpdatePullEndpointResponse
{}
Properties
None
mycujoo.streaming.v1.UpdatePullIngestResponse
{
"pull_ingest": {
"endpoint": "string",
"id": "string",
"name": "string",
"protocol": "PULL_INGEST_PROTOCOL_UNSPECIFIED",
"streams": [
{
"status": "PULL_INGEST_STATUS_UNSPECIFIED",
"stream_id": "string"
}
]
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
pull_ingest | mycujoo.streaming.v1.PullIngestEndpoint | false | none | none |
mycujoo.streaming.v1.UpdatePushEndpointResponse
{}
Properties
None
mycujoo.streaming.v1.UpdateSecureKeyResponse
{
"secure_key": {
"key": "string",
"version": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
secure_key | mycujoo.streaming.v1.SecureKey | false | none | none |
mycujoo.streaming.v1.UpdateStreamResponse
{
"stream": {
"config": {
"auto_enable_vpn_blocking": true,
"default": true,
"dvr_settings": {
"automatic_vod": true,
"enabled": true,
"stop_transcoding_full_dvr": true,
"window_size": 1
},
"enable_pull_endpoint": true,
"enable_raw_pull_endpoint": true,
"id": "string",
"is_system": true,
"name": "string",
"recording_settings": {
"autostart": true,
"enabled": true,
"record_during_transcoding": true
},
"scene_settings": {
"is_enabled": true,
"key_color": "SCENE_KEY_COLOR_UNSPECIFIED",
"scene_id": "string"
},
"secure_link": true,
"transcoding_settings": {
"audio_bitrate": 32,
"autostart": true,
"drm": {
"fairplay": true,
"playready": true,
"widevine": true
},
"enabled": true,
"follow_source_fps": true,
"gop": 25,
"interlacing_filter_mode": "INTERLACING_FILTER_MODE_UNSPECIFIED",
"key_frame_interval": 1,
"level": 0.1,
"llhls_settings": {
"is_enabled": true,
"part_size": 250,
"segment_count": 10,
"segment_size": 1
},
"low_latency": true,
"profile": "TRANSCODING_PROFILE_UNSPECIFIED",
"segment_size": 1,
"tracking_pixel": true,
"use_cdn": true,
"video_representation_ids": [
"string"
],
"watermark": {
"enabled": true,
"url": "https://images.mls.mycujoo.tv/example.png"
}
}
},
"config_id": "string",
"connection_time_seconds": 0,
"endpoint": "string",
"external_video_source": "string",
"id": "string",
"incoming_feed": {
"device": {
"flash_version": "string",
"name": "string"
},
"http_flv_endpoint": "string",
"is_active": true,
"protocol": "INGEST_PROTOCOL_UNSPECIFIED",
"session_id": "string"
},
"incoming_feed_flv": "string",
"is_active": true,
"is_enabled": true,
"is_public": true,
"is_published": true,
"key": "string",
"media_source_id": "string",
"playlists": [
{
"id": "string",
"is_enabled": true,
"is_transcoded": true,
"is_updating": true,
"is_vod": true,
"protocol": "PROTOCOL_UNSPECIFIED",
"type": "TYPE_UNSPECIFIED",
"url": "string"
}
],
"project_id": "string",
"pull_endpoints": [
{
"config_id": "string",
"endpoint": "string",
"id": "string",
"is_transcoded": true,
"protocol": "PROTOCOL_UNSPECIFIED",
"scene_settings": {
"is_enabled": true,
"key_color": "SCENE_KEY_COLOR_UNSPECIFIED",
"scene_id": "string",
"variables": {
"property1": "string",
"property2": "string"
}
},
"video_representation_id": "string"
}
],
"pull_ingest_id": "string",
"push_endpoints": [
{
"config_id": "qurnvkspnrjqk",
"endpoint": "rtmp://something/live",
"protocol": "RTMP",
"stream_id": "abcdefghi"
}
],
"push_ingest_endpoints": [
{
"endpoint": "string",
"in_use": true,
"protocol": "PUSH_INGEST_PROTOCOL_UNSPECIFIED",
"region": "REGION_UNSPECIFIED",
"secure_endpoint": "string",
"secure_uri": "string",
"support_tls": true,
"uri": "string"
}
],
"region": "REGION_UNSPECIFIED",
"stats": {
"audio_bit_rate": 0,
"audios": [
{
"bit_rate": 0,
"channel_layout": "string",
"channels": 0,
"codec": "string",
"codec_long_name": "string",
"codec_type": "string",
"index": 0,
"profile": "string",
"sample_fmt": "string",
"sample_rate": 0
}
],
"connection_count": 0,
"sample": {
"audio_bit_rate": 0,
"video_bit_rate": 0,
"video_frame_rate": 0.1,
"video_key_frame_consistent": true,
"video_key_frame_interval": 0.1,
"video_resolution": 0
},
"video_bit_rate": 0,
"video_frame_rate": 0.1,
"video_key_frame_consistent": true,
"video_key_frame_interval": 0.1,
"video_resolution": 0,
"videos": [
{
"bit_rate": 0,
"codec": "string",
"codec_long_name": "string",
"codec_type": "string",
"frame_rate": 0.1,
"height": 0,
"index": 0,
"level": 0,
"pix_fmt": "string",
"profile": "string",
"resolution": 0,
"start_pts": 0,
"width": 0
}
]
},
"title": "string",
"transcoding_state": "STATE_UNSPECIFIED",
"transcoding_time_seconds": 0,
"type": "TYPE_UNSPECIFIED",
"upload_id": "string",
"vod_asset_id": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
stream | mycujoo.streaming.v1.Stream | false | none | none |
mycujoo.streaming.v1.UpdateVideoRepresentationResponse
{
"video_representation": {
"bitrate": 100,
"framerate": 24,
"height": 240,
"id": "string",
"is_enabled": true,
"is_system": true,
"name": "string",
"width": 320
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
video_representation | mycujoo.streaming.v1.VideoRepresentation | false | none | none |
mycujoo.streaming.v1.VideoRepresentation
{
"bitrate": 100,
"framerate": 24,
"height": 240,
"id": "string",
"is_enabled": true,
"is_system": true,
"name": "string",
"width": 320
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
bitrate | integer(int32) | false | none | none |
framerate | integer(int32) | false | none | none |
height | integer(int32) | false | none | none |
id | string | false | none | none |
is_enabled | boolean | false | none | none |
is_system | boolean | false | none | none |
name | string | false | none | none |
width | integer(int32) | false | none | none |
mycujoo.streaming.v1.VideoRepresentationTestIamPermissionsRequest
{
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
permissions | [string] | true | none | none |
resource | mycujoo.auth.v1.Resource | true | none | Resource object reference that is used to represent objects in the IAM system. |
mycujoo.streaming.v1.VideoRepresentationTestIamPermissionsResponse
{
"permissions": [
"projects.create",
"projects.update"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
permissions | [string] | false | none | none |
resource | mycujoo.auth.v1.Resource | false | none | Resource object reference that is used to represent objects in the IAM system. |
mycujoo.streaming.v1.VideoRepresentationUpdate
{
"bitrate": 100,
"framerate": 24,
"height": 240,
"is_enabled": true,
"name": "string",
"width": 320
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
bitrate | integer(int32) | false | none | none |
framerate | integer(int32) | false | none | none |
height | integer(int32) | false | none | none |
is_enabled | boolean | false | none | none |
name | string | false | none | none |
width | integer(int32) | false | none | none |
mycujoo.streaming.v1.VideoStats
{
"bit_rate": 0,
"codec": "string",
"codec_long_name": "string",
"codec_type": "string",
"frame_rate": 0.1,
"height": 0,
"index": 0,
"level": 0,
"pix_fmt": "string",
"profile": "string",
"resolution": 0,
"start_pts": 0,
"width": 0
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
bit_rate | integer(int32) | false | none | none |
codec | string | false | none | none |
codec_long_name | string | false | none | none |
codec_type | string | false | none | none |
frame_rate | number(float) | false | none | none |
height | integer(int32) | false | none | none |
index | integer(int32) | false | none | none |
level | integer(int32) | false | none | none |
pix_fmt | string | false | none | none |
profile | string | false | none | none |
resolution | integer(int32) | false | none | none |
start_pts | integer(int32) | false | none | none |
width | integer(int32) | false | none | none |
mycujoo.streaming.v1.Watermark
{
"enabled": true,
"url": "https://images.mls.mycujoo.tv/example.png"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
enabled | boolean | false | none | none |
height | integer(int32) | false | none | none |
position_preset | mycujoo.streaming.v1.Watermark.Position | false | none | none |
url | string | false | none | none |
width | integer(int32) | false | none | none |
mycujoo.streaming.v1.Watermark.Position
"POSITION_UNSPECIFIED"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | POSITION_UNSPECIFIED |
anonymous | POSITION_TOP_LEFT |
anonymous | POSITION_TOP_RIGHT |
anonymous | POSITION_BOTTOM_LEFT |
anonymous | POSITION_BOTTOM_RIGHT |
anonymous | POSITION_TOP_CENTER |
anonymous | POSITION_BOTTOM_CENTER |
anonymous | POSITION_CENTER |
mycujoo.subscriptions.v1beta1.BatchGetPackagesRequest
{
"ids": [
"string"
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ids | [string] | true | none | none |
mycujoo.subscriptions.v1beta1.BatchGetPackagesResponse
{
"packages": [
{
"apple_app_store_product_id": "string",
"concurrency_limit": 0,
"contents": [
{
"id": "string",
"priority": 0,
"type": "string"
}
],
"create_time": "2019-08-24T14:15:22Z",
"description": "string",
"end_time": "2019-08-24T14:15:22Z",
"google_play_sku": "string",
"hero_image_asset_id": "string",
"id": "string",
"is_geoblocked": true,
"locale_overrides": [
{
"description": "string",
"language_code": "string",
"name": "string",
"short_name": "string"
}
],
"logo_asset_id": "string",
"name": "string",
"price": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"price_msrp": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"price_per_item": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"priority": 0,
"short_name": "string",
"start_time": "2019-08-24T14:15:22Z",
"state": "STATE_UNSPECIFIED",
"term": {
"factor": 0,
"period": "CALENDAR_PERIOD_UNSPECIFIED"
},
"type": "TYPE_UNSPECIFIED"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
packages | [mycujoo.subscriptions.v1beta1.Package] | false | none | [Package is a access protected one or many contents that user can pay for.] |
mycujoo.subscriptions.v1beta1.CreatePackageRequest
{
"apple_app_store_product_id": "string",
"concurrency_limit": 0,
"contents": [
{
"id": "string",
"priority": 0,
"type": "string"
}
],
"description": "string",
"end_time": "2019-08-24T14:15:22Z",
"google_play_sku": "string",
"hero_image_asset_id": "string",
"is_geoblocked": true,
"locale_overrides": [
{
"description": "string",
"language_code": "string",
"name": "string",
"short_name": "string"
}
],
"logo_asset_id": "string",
"name": "string",
"price": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"price_msrp": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"price_per_item": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"priority": 0,
"short_name": "string",
"start_time": "2019-08-24T14:15:22Z",
"state": "STATE_UNSPECIFIED",
"term": {
"factor": 0,
"period": "CALENDAR_PERIOD_UNSPECIFIED"
},
"type": "TYPE_UNSPECIFIED"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
apple_app_store_product_id | string | false | none | none |
concurrency_limit | integer(int32) | false | none | The number of video streams that a specific user can watch at any given time. Defaults to 0 which means that there is no limit. |
contents | [mycujoo.subscriptions.v1beta1.Package.Content] | true | none | none |
description | string | false | none | Description of the package that holds more detailed information about what package provides. |
end_time | string(date-time) | false | none | none |
google_play_sku | string | false | none | none |
hero_image_asset_id | string | false | none | ID of the assets used for hero image. Can be retrieved from assets service. |
is_geoblocked | boolean | true | none | Whether this package is allowed/not allowed to purchase in a set of countries. If the value is 'true' then the geoblocking settings can be retrived from Geofence service using this package ID. |
locale_overrides | [mycujoo.subscriptions.v1beta1.Package.LocaleOverride] | false | none | Contains list of translated fields per language that can override defaults. |
logo_asset_id | string | false | none | ID of the assets used for logo. Can be retrieved from assets service. |
name | string | true | none | Full name of the package that can be used as a page title. |
price | google.type.Money | true | none | Represents an amount of money with its currency type. |
price_msrp | google.type.Money | false | none | Represents an amount of money with its currency type. |
price_per_item | google.type.Money | false | none | Represents an amount of money with its currency type. |
priority | integer(int32) | true | none | Priority in which packages for the same content are organised The lower value will keep the package on top. Defaults to 0. |
short_name | string | false | none | Short name of the package that can be used when there is not enough space to show full name. |
start_time | string(date-time) | false | none | none |
state | mycujoo.subscriptions.v1beta1.Package.State | true | none | State holds available states of the package. - STATE_HIDDEN: Hidden means that the package is not available to be bought anywhere. - STATE_UNLISTED: Unlisted means that the package is available for purchase but should not be visible for the users. - STATE_PUBLISHED: Published means that the package is fully available for purchase. |
term | mycujoo.subscriptions.v1beta1.Package.Term | false | none | Term holds the combination of period and factor e.q. if period is WEEK and factor is 2, it translate to every 2 weeks. |
type | mycujoo.subscriptions.v1beta1.Package.Type | true | none | Type holds available types for the package. - TYPE_BUNDLE: Bundle type is when access to the content never expires. - TYPE_SUBSCRIPTION: Subscription type is temporary access based on recurring payments. Recurring payments are done on basis set by 'term_seconds' field. - TYPE_TIMEPASS: Timepass type is a time limited access to the content. It is same as bundle type but with expiration date. - TYPE_PPV: PPV - Pay Per View. This is a one-time purchase for a single MCLS event, with lifetime access once purchased. |
mycujoo.subscriptions.v1beta1.CreatePackageResponse
{
"package": {
"apple_app_store_product_id": "string",
"concurrency_limit": 0,
"contents": [
{
"id": "string",
"priority": 0,
"type": "string"
}
],
"create_time": "2019-08-24T14:15:22Z",
"description": "string",
"end_time": "2019-08-24T14:15:22Z",
"google_play_sku": "string",
"hero_image_asset_id": "string",
"id": "string",
"is_geoblocked": true,
"locale_overrides": [
{
"description": "string",
"language_code": "string",
"name": "string",
"short_name": "string"
}
],
"logo_asset_id": "string",
"name": "string",
"price": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"price_msrp": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"price_per_item": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"priority": 0,
"short_name": "string",
"start_time": "2019-08-24T14:15:22Z",
"state": "STATE_UNSPECIFIED",
"term": {
"factor": 0,
"period": "CALENDAR_PERIOD_UNSPECIFIED"
},
"type": "TYPE_UNSPECIFIED"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
package | mycujoo.subscriptions.v1beta1.Package | false | none | Package is a access protected one or many contents that user can pay for. |
mycujoo.subscriptions.v1beta1.DeletePackageResponse
{}
Properties
None
mycujoo.subscriptions.v1beta1.GetPackageIamPolicyResponse
{
"etag": "string",
"policy": {
"bindings": [
{
"account_ids": [
"2GzbST9DaEPsNcDTaW30GWnfZyw",
"2GzbTHf7FfMyGv2F71FWwGRzKWb"
],
"role_id": "owner"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "projects.admin"
},
{
"account_ids": [
"2GzbXfLtstLUn0d9HoaQTvSfSkf"
],
"role_id": "accounts.admin"
}
]
},
"resource_hierarchy": [
{
"id": "elevendata",
"type": "project"
}
],
"resource_title": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
etag | string(byte) | false | none | none |
policy | mycujoo.auth.v1.Policy | false | none | Authorization policy. |
resource_hierarchy | [mycujoo.auth.v1.Resource] | false | none | [Resource object reference that is used to represent objects in the IAM system.] |
resource_title | string | false | none | none |
mycujoo.subscriptions.v1beta1.GetPackageResponse
{
"package": {
"apple_app_store_product_id": "string",
"concurrency_limit": 0,
"contents": [
{
"id": "string",
"priority": 0,
"type": "string"
}
],
"create_time": "2019-08-24T14:15:22Z",
"description": "string",
"end_time": "2019-08-24T14:15:22Z",
"google_play_sku": "string",
"hero_image_asset_id": "string",
"id": "string",
"is_geoblocked": true,
"locale_overrides": [
{
"description": "string",
"language_code": "string",
"name": "string",
"short_name": "string"
}
],
"logo_asset_id": "string",
"name": "string",
"price": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"price_msrp": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"price_per_item": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"priority": 0,
"short_name": "string",
"start_time": "2019-08-24T14:15:22Z",
"state": "STATE_UNSPECIFIED",
"term": {
"factor": 0,
"period": "CALENDAR_PERIOD_UNSPECIFIED"
},
"type": "TYPE_UNSPECIFIED"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
package | mycujoo.subscriptions.v1beta1.Package | false | none | Package is a access protected one or many contents that user can pay for. |
mycujoo.subscriptions.v1beta1.ListPackagesRequest.Include
"INCLUDE_UNSPECIFIED"
An enum value that indicates additional data to be included in the response
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
An enum value that indicates additional data to be included in the response | string | false | none | - INCLUDE_TOTAL_SIZE: When included, response will contain metadata about total number of available results irrespective of pagination |
Enumerated Values
Property | Value |
---|---|
An enum value that indicates additional data to be included in the response | INCLUDE_UNSPECIFIED |
An enum value that indicates additional data to be included in the response | INCLUDE_TOTAL_SIZE |
mycujoo.subscriptions.v1beta1.ListPackagesRequest.Order
"ORDER_UNSPECIFIED"
An enum value that indicates results order in the response
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
An enum value that indicates results order in the response | string | false | none | - ORDER_UNSPECIFIED: When order is unspecified it defaults to create time descending - ORDER_CREATE_TIME_ASC: Results sorted by time of creation ascending - ORDER_CREATE_TIME_DESC: Results sorted by time of creation descending |
Enumerated Values
Property | Value |
---|---|
An enum value that indicates results order in the response | ORDER_UNSPECIFIED |
An enum value that indicates results order in the response | ORDER_CREATE_TIME_ASC |
An enum value that indicates results order in the response | ORDER_CREATE_TIME_DESC |
mycujoo.subscriptions.v1beta1.ListPackagesResponse
{
"next_page_token": "string",
"packages": [
{
"apple_app_store_product_id": "string",
"concurrency_limit": 0,
"contents": [
{
"id": "string",
"priority": 0,
"type": "string"
}
],
"create_time": "2019-08-24T14:15:22Z",
"description": "string",
"end_time": "2019-08-24T14:15:22Z",
"google_play_sku": "string",
"hero_image_asset_id": "string",
"id": "string",
"is_geoblocked": true,
"locale_overrides": [
{
"description": "string",
"language_code": "string",
"name": "string",
"short_name": "string"
}
],
"logo_asset_id": "string",
"name": "string",
"price": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"price_msrp": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"price_per_item": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"priority": 0,
"short_name": "string",
"start_time": "2019-08-24T14:15:22Z",
"state": "STATE_UNSPECIFIED",
"term": {
"factor": 0,
"period": "CALENDAR_PERIOD_UNSPECIFIED"
},
"type": "TYPE_UNSPECIFIED"
}
],
"total_size": 0
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
next_page_token | string | false | none | none |
packages | [mycujoo.subscriptions.v1beta1.Package] | false | none | [Package is a access protected one or many contents that user can pay for.] |
total_size | integer(int32) | false | none | The total amount of items in the list irrespective of pagination. Will be present only when request 'include' field ask for it. |
mycujoo.subscriptions.v1beta1.Package
{
"apple_app_store_product_id": "string",
"concurrency_limit": 0,
"contents": [
{
"id": "string",
"priority": 0,
"type": "string"
}
],
"create_time": "2019-08-24T14:15:22Z",
"description": "string",
"end_time": "2019-08-24T14:15:22Z",
"google_play_sku": "string",
"hero_image_asset_id": "string",
"id": "string",
"is_geoblocked": true,
"locale_overrides": [
{
"description": "string",
"language_code": "string",
"name": "string",
"short_name": "string"
}
],
"logo_asset_id": "string",
"name": "string",
"price": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"price_msrp": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"price_per_item": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"priority": 0,
"short_name": "string",
"start_time": "2019-08-24T14:15:22Z",
"state": "STATE_UNSPECIFIED",
"term": {
"factor": 0,
"period": "CALENDAR_PERIOD_UNSPECIFIED"
},
"type": "TYPE_UNSPECIFIED"
}
Package is a access protected one or many contents that user can pay for.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
apple_app_store_product_id | string | false | none | none |
concurrency_limit | integer(int32) | false | none | The number of video streams that a specific user can watch at any given time. Defaults to 0 which means that there is no limit. |
contents | [mycujoo.subscriptions.v1beta1.Package.Content] | true | none | none |
create_time | string(date-time) | true | none | Time of creation. Cannot be set. |
description | string | false | none | Description of the package that holds more detailed information about what package provides. |
end_time | string(date-time) | false | none | none |
google_play_sku | string | false | none | none |
hero_image_asset_id | string | false | none | ID of the assets used for hero image. Can be retrieved from assets service. |
id | string | false | read-only | Auto generated unique ID of the package. Cannot be set. |
is_geoblocked | boolean | true | none | Whether this package is allowed/not allowed to purchase in a set of countries. If the value is 'true' then the geoblocking settings can be retrived from Geofence service using this package ID. |
locale_overrides | [mycujoo.subscriptions.v1beta1.Package.LocaleOverride] | false | none | Contains list of translated fields per language that can override defaults. |
logo_asset_id | string | false | none | ID of the assets used for logo. Can be retrieved from assets service. |
name | string | true | none | Full name of the package that can be used as a page title. |
price | google.type.Money | true | none | Represents an amount of money with its currency type. |
price_msrp | google.type.Money | false | none | Represents an amount of money with its currency type. |
price_per_item | google.type.Money | false | none | Represents an amount of money with its currency type. |
priority | integer(int32) | true | none | Priority in which packages for the same content are organised The lower value will keep the package on top. Defaults to 0. |
short_name | string | false | none | Short name of the package that can be used when there is not enough space to show full name. |
start_time | string(date-time) | false | none | none |
state | mycujoo.subscriptions.v1beta1.Package.State | true | none | State holds available states of the package. - STATE_HIDDEN: Hidden means that the package is not available to be bought anywhere. - STATE_UNLISTED: Unlisted means that the package is available for purchase but should not be visible for the users. - STATE_PUBLISHED: Published means that the package is fully available for purchase. |
term | mycujoo.subscriptions.v1beta1.Package.Term | false | none | Term holds the combination of period and factor e.q. if period is WEEK and factor is 2, it translate to every 2 weeks. |
type | mycujoo.subscriptions.v1beta1.Package.Type | true | none | Type holds available types for the package. - TYPE_BUNDLE: Bundle type is when access to the content never expires. - TYPE_SUBSCRIPTION: Subscription type is temporary access based on recurring payments. Recurring payments are done on basis set by 'term_seconds' field. - TYPE_TIMEPASS: Timepass type is a time limited access to the content. It is same as bundle type but with expiration date. - TYPE_PPV: PPV - Pay Per View. This is a one-time purchase for a single MCLS event, with lifetime access once purchased. |
mycujoo.subscriptions.v1beta1.Package.Content
{
"id": "string",
"priority": 0,
"type": "string"
}
Represents content available for purchase
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | true | none | none |
priority | integer(int32) | true | none | Priority is used to define the order of list of contents. The lower value will keep the content on top. Defaults to 0. |
type | string | true | none | none |
mycujoo.subscriptions.v1beta1.Package.LocaleOverride
{
"description": "string",
"language_code": "string",
"name": "string",
"short_name": "string"
}
LocaleOverride holds localised fields with the language code
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
description | string | false | none | Same as description but localised. |
language_code | string | false | none | The BCP-47 language code. |
name | string | false | none | Same as name but localised. |
short_name | string | false | none | Same as short_name but localised. |
mycujoo.subscriptions.v1beta1.Package.State
"STATE_UNSPECIFIED"
State holds available states of the package.
- STATE_HIDDEN: Hidden means that the package is not available to be bought anywhere.
- STATE_UNLISTED: Unlisted means that the package is available for purchase but should not be visible for the users.
- STATE_PUBLISHED: Published means that the package is fully available for purchase.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | State holds available states of the package. - STATE_HIDDEN: Hidden means that the package is not available to be bought anywhere. - STATE_UNLISTED: Unlisted means that the package is available for purchase but should not be visible for the users. - STATE_PUBLISHED: Published means that the package is fully available for purchase. |
Enumerated Values
Property | Value |
---|---|
anonymous | STATE_UNSPECIFIED |
anonymous | STATE_HIDDEN |
anonymous | STATE_UNLISTED |
anonymous | STATE_PUBLISHED |
mycujoo.subscriptions.v1beta1.Package.Term
{
"factor": 0,
"period": "CALENDAR_PERIOD_UNSPECIFIED"
}
Term holds the combination of period and factor e.q. if period is WEEK and factor is 2, it translate to every 2 weeks.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
factor | integer(int32) | false | none | The multiplication of a time period. Cannot be 0. |
period | google.type.CalendarPeriod | false | none | A CalendarPeriod represents the abstract concept of a time period that hasa canonical start. Grammatically, "the start of the current CalendarPeriod ." All calendar times begin at midnight UTC.- CALENDAR_PERIOD_UNSPECIFIED: Undefined period, raises an error. - DAY: A day. - WEEK: A week. Weeks begin on Monday, following ISO 8601. - FORTNIGHT: A fortnight. The first calendar fortnight of the year begins at the start of week 1 according to ISO 8601. - MONTH: A month. - QUARTER: A quarter. Quarters start on dates 1-Jan, 1-Apr, 1-Jul, and 1-Oct of each year. - HALF: A half-year. Half-years start on dates 1-Jan and 1-Jul. - YEAR: A year. |
mycujoo.subscriptions.v1beta1.Package.Type
"TYPE_UNSPECIFIED"
Type holds available types for the package.
- TYPE_BUNDLE: Bundle type is when access to the content never expires.
- TYPE_SUBSCRIPTION: Subscription type is temporary access based on recurring payments. Recurring payments are done on basis set by 'term_seconds' field.
- TYPE_TIMEPASS: Timepass type is a time limited access to the content. It is same as bundle type but with expiration date.
- TYPE_PPV: PPV - Pay Per View. This is a one-time purchase for a single MCLS event, with lifetime access once purchased.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | Type holds available types for the package. - TYPE_BUNDLE: Bundle type is when access to the content never expires. - TYPE_SUBSCRIPTION: Subscription type is temporary access based on recurring payments. Recurring payments are done on basis set by 'term_seconds' field. - TYPE_TIMEPASS: Timepass type is a time limited access to the content. It is same as bundle type but with expiration date. - TYPE_PPV: PPV - Pay Per View. This is a one-time purchase for a single MCLS event, with lifetime access once purchased. |
Enumerated Values
Property | Value |
---|---|
anonymous | TYPE_UNSPECIFIED |
anonymous | TYPE_BUNDLE |
anonymous | TYPE_SUBSCRIPTION |
anonymous | TYPE_TIMEPASS |
anonymous | TYPE_PPV |
mycujoo.subscriptions.v1beta1.SetPackageIamPolicyResponse
{}
Properties
None
mycujoo.subscriptions.v1beta1.TestIamPermissionsRequest
{
"permissions": [
"projects.create",
"projects.update",
"projects.delete"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
permissions | [string] | true | none | none |
resource | mycujoo.auth.v1.Resource | true | none | Resource object reference that is used to represent objects in the IAM system. |
mycujoo.subscriptions.v1beta1.TestIamPermissionsResponse
{
"permissions": [
"projects.create",
"projects.update"
],
"resource": {
"id": "esgp",
"type": "organization"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
permissions | [string] | false | none | none |
resource | mycujoo.auth.v1.Resource | false | none | Resource object reference that is used to represent objects in the IAM system. |
mycujoo.subscriptions.v1beta1.UpdatePackageRequest.UpdateFields
{
"apple_app_store_product_id": "string",
"concurrency_limit": 0,
"contents": [
{
"id": "string",
"priority": 0,
"type": "string"
}
],
"description": "string",
"end_time": "2019-08-24T14:15:22Z",
"google_play_sku": "string",
"hero_image_asset_id": "string",
"is_geoblocked": true,
"locale_overrides": [
{
"description": "string",
"language_code": "string",
"name": "string",
"short_name": "string"
}
],
"logo_asset_id": "string",
"name": "string",
"price": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"price_msrp": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"price_per_item": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"priority": 0,
"short_name": "string",
"start_time": "2019-08-24T14:15:22Z",
"state": "STATE_UNSPECIFIED",
"term": {
"factor": 0,
"period": "CALENDAR_PERIOD_UNSPECIFIED"
},
"type": "TYPE_UNSPECIFIED"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
apple_app_store_product_id | string | false | none | none |
concurrency_limit | integer(int32) | false | none | The number of video streams that a specific user can watch at any given time. Defaults to 0 which means that there is no limit. |
contents | [mycujoo.subscriptions.v1beta1.Package.Content] | false | none | none |
description | string | false | none | Description of the package that holds more detailed information about what package provides. |
end_time | string(date-time) | false | none | none |
google_play_sku | string | false | none | none |
hero_image_asset_id | string | false | none | ID of the assets used for hero image. Can be retrieved from assets service. |
is_geoblocked | boolean | false | none | Whether this package is allowed/not allowed to purchase in a set of countries. If the value is 'true' then the geoblocking settings can be retrived from Geofence service using this package ID. |
locale_overrides | [mycujoo.subscriptions.v1beta1.Package.LocaleOverride] | false | none | Contains list of translated fields per language that can override defaults. |
logo_asset_id | string | false | none | ID of the assets used for logo. Can be retrieved from assets service. |
name | string | false | none | Full name of the package that can be used as a page title. |
price | google.type.Money | false | none | Represents an amount of money with its currency type. |
price_msrp | google.type.Money | false | none | Represents an amount of money with its currency type. |
price_per_item | google.type.Money | false | none | Represents an amount of money with its currency type. |
priority | integer(int32) | false | none | Priority in which packages for the same content are organised The lower value will keep the package on top. Defaults to 0. |
short_name | string | false | none | Short name of the package that can be used when there is not enough space to show full name. |
start_time | string(date-time) | false | none | none |
state | mycujoo.subscriptions.v1beta1.Package.State | false | none | State holds available states of the package. - STATE_HIDDEN: Hidden means that the package is not available to be bought anywhere. - STATE_UNLISTED: Unlisted means that the package is available for purchase but should not be visible for the users. - STATE_PUBLISHED: Published means that the package is fully available for purchase. |
term | mycujoo.subscriptions.v1beta1.Package.Term | false | none | Term holds the combination of period and factor e.q. if period is WEEK and factor is 2, it translate to every 2 weeks. |
type | mycujoo.subscriptions.v1beta1.Package.Type | false | none | Type holds available types for the package. - TYPE_BUNDLE: Bundle type is when access to the content never expires. - TYPE_SUBSCRIPTION: Subscription type is temporary access based on recurring payments. Recurring payments are done on basis set by 'term_seconds' field. - TYPE_TIMEPASS: Timepass type is a time limited access to the content. It is same as bundle type but with expiration date. - TYPE_PPV: PPV - Pay Per View. This is a one-time purchase for a single MCLS event, with lifetime access once purchased. |
mycujoo.subscriptions.v1beta1.UpdatePackageResponse
{
"package": {
"apple_app_store_product_id": "string",
"concurrency_limit": 0,
"contents": [
{
"id": "string",
"priority": 0,
"type": "string"
}
],
"create_time": "2019-08-24T14:15:22Z",
"description": "string",
"end_time": "2019-08-24T14:15:22Z",
"google_play_sku": "string",
"hero_image_asset_id": "string",
"id": "string",
"is_geoblocked": true,
"locale_overrides": [
{
"description": "string",
"language_code": "string",
"name": "string",
"short_name": "string"
}
],
"logo_asset_id": "string",
"name": "string",
"price": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"price_msrp": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"price_per_item": {
"currency_code": "string",
"nanos": 0,
"units": "string"
},
"priority": 0,
"short_name": "string",
"start_time": "2019-08-24T14:15:22Z",
"state": "STATE_UNSPECIFIED",
"term": {
"factor": 0,
"period": "CALENDAR_PERIOD_UNSPECIFIED"
},
"type": "TYPE_UNSPECIFIED"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
package | mycujoo.subscriptions.v1beta1.Package | false | none | Package is a access protected one or many contents that user can pay for. |
mycujoo.thumbnails.v1.CreateThumbnailRequest
{
"output_format": "OUTPUT_FORMAT_UNSPECIFIED",
"position": "string",
"stream_id": "string",
"title": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
output_format | mycujoo.thumbnails.v1.OutputFormat | false | none | - OUTPUT_FORMAT_JPEG: .jpeg - OUTPUT_FORMAT_PNG: .png |
position | string | false | none | none |
stream_id | string | true | none | none |
title | string | false | none | none |
mycujoo.thumbnails.v1.CreateThumbnailResponse
{
"asset_id": "string",
"create_time": "2019-08-24T14:15:22Z",
"download_url": "string",
"expiry_time": "2019-08-24T14:15:22Z",
"filename": "string",
"org_id": "string",
"project_id": "string",
"size_bytes": "string",
"stream_id": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
asset_id | string | false | none | none |
create_time | string(date-time) | false | none | none |
download_url | string | false | none | none |
expiry_time | string(date-time) | false | none | none |
filename | string | false | none | none |
org_id | string | false | none | none |
project_id | string | false | none | none |
size_bytes | string(int64) | false | none | none |
stream_id | string | false | none | none |
mycujoo.thumbnails.v1.OutputFormat
"OUTPUT_FORMAT_UNSPECIFIED"
File extension using which the thumbnails will be generated
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
File extension using which the thumbnails will be generated | string | false | none | - OUTPUT_FORMAT_JPEG: .jpeg - OUTPUT_FORMAT_PNG: .png |
Enumerated Values
Property | Value |
---|---|
File extension using which the thumbnails will be generated | OUTPUT_FORMAT_UNSPECIFIED |
File extension using which the thumbnails will be generated | OUTPUT_FORMAT_JPEG |
File extension using which the thumbnails will be generated | OUTPUT_FORMAT_PNG |
mycujoo.timelines.v1beta1.CreateRequest
{
"name": "string",
"stream_id": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
name | string | false | none | none |
stream_id | string | false | none | none |
mycujoo.timelines.v1beta1.CreateResponse
{
"timeline": {
"create_time": "2019-08-24T14:15:22Z",
"id": "string",
"name": "string",
"stream_id": "string",
"type": "TYPE_SYSTEM"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
timeline | mycujoo.timelines.v1beta1.Timeline | false | none | none |
mycujoo.timelines.v1beta1.DeleteResponse
{}
Properties
None
mycujoo.timelines.v1beta1.GetResponse
{
"timeline": {
"create_time": "2019-08-24T14:15:22Z",
"id": "string",
"name": "string",
"stream_id": "string",
"type": "TYPE_SYSTEM"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
timeline | mycujoo.timelines.v1beta1.Timeline | false | none | none |
mycujoo.timelines.v1beta1.ListResponse
{
"timelines": [
{
"create_time": "2019-08-24T14:15:22Z",
"id": "string",
"name": "string",
"stream_id": "string",
"type": "TYPE_SYSTEM"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
timelines | [mycujoo.timelines.v1beta1.Timeline] | false | none | none |
mycujoo.timelines.v1beta1.Timeline
{
"create_time": "2019-08-24T14:15:22Z",
"id": "string",
"name": "string",
"stream_id": "string",
"type": "TYPE_SYSTEM"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
create_time | string(date-time) | false | none | none |
id | string | false | none | none |
name | string | false | none | none |
stream_id | string | false | none | none |
type | mycujoo.timelines.v1beta1.Timeline.Type | false | none | An enum value that indicates the way timeline was created. - TYPE_SYSTEM: TYPE_SYSTEM indicates that timeline was created by the system - TYPE_USER: TYPE_USER indicates that timeline was created by the user |
mycujoo.timelines.v1beta1.Timeline.Type
"TYPE_SYSTEM"
An enum value that indicates the way timeline was created.
- TYPE_SYSTEM: TYPE_SYSTEM indicates that timeline was created by the system
- TYPE_USER: TYPE_USER indicates that timeline was created by the user
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | An enum value that indicates the way timeline was created. - TYPE_SYSTEM: TYPE_SYSTEM indicates that timeline was created by the system - TYPE_USER: TYPE_USER indicates that timeline was created by the user |
Enumerated Values
Property | Value |
---|---|
anonymous | TYPE_SYSTEM |
anonymous | TYPE_USER |
mycujoo.userconsent.v1beta1.AcceptDocumentResponse
{
"document_id": "string",
"version_id": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
document_id | string | false | none | none |
version_id | string | false | none | none |
mycujoo.userconsent.v1beta1.CheckDocumentsRequest
{
"ids": [
"string"
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ids | [string] | false | none | none |
mycujoo.userconsent.v1beta1.CheckDocumentsResponse
{
"documents": [
{
"acceptance_period_time": "2019-08-24T14:15:22Z",
"accepted": true,
"content_url": "string",
"document_id": "string",
"version_id": "string"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
documents | [mycujoo.userconsent.v1beta1.Document] | false | none | none |
mycujoo.userconsent.v1beta1.Document
{
"acceptance_period_time": "2019-08-24T14:15:22Z",
"accepted": true,
"content_url": "string",
"document_id": "string",
"version_id": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
acceptance_period_time | string(date-time) | false | none | none |
accepted | boolean | false | none | none |
content_url | string | false | none | none |
document_id | string | false | none | none |
version_id | string | false | none | none |
mycujoo.userconsent.v1beta1.GetDocumentContentResponse
{
"content_html": "string",
"content_url": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
content_html | string | false | none | none |
content_url | string | false | none | none |
mycujoo.userdataaction.v1beta1.CreateResponse
{}
Properties
None
mycujoo.userdataaction.v1beta1.UpdateResponse
{}
Properties
None
mycujoo.userdataaction.v1beta1.Value
{
"bool": true,
"float": 0.1,
"int": 0,
"string": "string",
"timestamp": "2019-08-24T14:15:22Z"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
bool | boolean | false | none | none |
float | number(float) | false | none | none |
int | integer(int32) | false | none | none |
string | string | false | none | none |
timestamp | string(date-time) | false | none | none |
mycujoo.videostitching.v1.AssetInput
{
"asset_id": "string",
"end_offset": "string",
"start_offset": "string"
}
Input of type Asset
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
asset_id | string | true | none | none |
end_offset | string | false | none | none |
start_offset | string | false | none | none |
mycujoo.videostitching.v1.AssetOutput
{
"asset_id": "string",
"transcoding_settings": {
"audio_bitrate": 32,
"follow_source_fps": true,
"gop": 25,
"id": "string",
"interlacing_filter_mode": "INTERLACING_FILTER_MODE_UNSPECIFIED",
"key_frame_interval": 1,
"level": 0.1,
"profile": "TRANSCODING_PROFILE_UNSPECIFIED"
},
"video_representation": {
"bitrate": 100,
"framerate": 24,
"height": 240,
"id": "string",
"width": 320
},
"watermark": {
"height": 0,
"id": "string",
"position_preset": "POSITION_UNSPECIFIED",
"url": "string",
"width": 0
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
asset_id | string | false | none | none |
transcoding_settings | mycujoo.videostitching.v1.TranscodingSettings | false | none | none |
video_representation | mycujoo.videostitching.v1.VideoRepresentation | false | none | none |
watermark | mycujoo.videostitching.v1.Watermark | false | none | none |
mycujoo.videostitching.v1.CancelJobResponse
{}
Properties
None
mycujoo.videostitching.v1.CancelOutputJobResponse
{
"id": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | none |
mycujoo.videostitching.v1.ClipInput
{
"clip_id": "string",
"end_offset": "string",
"start_offset": "string"
}
Input of type clip
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
clip_id | string | true | none | none |
end_offset | string | false | none | none |
start_offset | string | false | none | none |
mycujoo.videostitching.v1.CreateJobRequest
{
"inputs": [
{
"asset": {
"asset_id": "string",
"end_offset": "string",
"start_offset": "string"
},
"clip": {
"clip_id": "string",
"end_offset": "string",
"start_offset": "string"
},
"stream": {
"end_offset": "string",
"resource_type": "STREAM_RESOURCE_TYPE_UNSPECIFIED",
"start_offset": "string",
"stream_id": "string"
}
}
],
"outputs": [
{
"asset": {
"config": {
"transcoding_settings_id": "string",
"video_representation_id": "string",
"watermark_id": "string"
},
"labels": {
"property1": "string",
"property2": "string"
},
"title": "string"
},
"stream": {
"stream_id": "string"
}
}
],
"project_id": "string",
"start_immediately": true,
"title": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
inputs | [mycujoo.videostitching.v1.Input] | true | none | none |
outputs | [mycujoo.videostitching.v1.RequestedOutput] | true | none | none |
project_id | string | true | none | none |
start_immediately | boolean | false | none | none |
title | string | false | none | Title of the job. If this field is empty, a random title will be set. |
mycujoo.videostitching.v1.CreateJobResponse
{
"job": {
"create_time": "2019-08-24T14:15:22Z",
"id": "string",
"inputs": [
{
"asset": {
"asset_id": "string",
"end_offset": "string",
"start_offset": "string"
},
"clip": {
"clip_id": "string",
"end_offset": "string",
"start_offset": "string"
},
"stream": {
"end_offset": "string",
"resource_type": "STREAM_RESOURCE_TYPE_UNSPECIFIED",
"start_offset": "string",
"stream_id": "string"
}
}
],
"org_id": "string",
"outputs": [
{
"asset": {
"asset_id": "string",
"transcoding_settings": {
"audio_bitrate": 32,
"follow_source_fps": true,
"gop": 25,
"id": "string",
"interlacing_filter_mode": "INTERLACING_FILTER_MODE_UNSPECIFIED",
"key_frame_interval": 1,
"level": 0.1,
"profile": "TRANSCODING_PROFILE_UNSPECIFIED"
},
"video_representation": {
"bitrate": 100,
"framerate": 24,
"height": 240,
"id": "string",
"width": 320
},
"watermark": {
"height": 0,
"id": "string",
"position_preset": "POSITION_UNSPECIFIED",
"url": "string",
"width": 0
}
},
"last_execution_time": "2019-08-24T14:15:22Z",
"output_id": "string",
"output_status": "OUTPUT_STATUS_UNSPECIFIED",
"stream": {
"stream_id": "string"
}
}
],
"project_id": "string",
"status": "JOB_STATUS_UNSPECIFIED",
"title": "string",
"update_time": "2019-08-24T14:15:22Z"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
job | mycujoo.videostitching.v1.Job | false | none | none |
mycujoo.videostitching.v1.GetJobResponse
{
"job": {
"create_time": "2019-08-24T14:15:22Z",
"id": "string",
"inputs": [
{
"asset": {
"asset_id": "string",
"end_offset": "string",
"start_offset": "string"
},
"clip": {
"clip_id": "string",
"end_offset": "string",
"start_offset": "string"
},
"stream": {
"end_offset": "string",
"resource_type": "STREAM_RESOURCE_TYPE_UNSPECIFIED",
"start_offset": "string",
"stream_id": "string"
}
}
],
"org_id": "string",
"outputs": [
{
"asset": {
"asset_id": "string",
"transcoding_settings": {
"audio_bitrate": 32,
"follow_source_fps": true,
"gop": 25,
"id": "string",
"interlacing_filter_mode": "INTERLACING_FILTER_MODE_UNSPECIFIED",
"key_frame_interval": 1,
"level": 0.1,
"profile": "TRANSCODING_PROFILE_UNSPECIFIED"
},
"video_representation": {
"bitrate": 100,
"framerate": 24,
"height": 240,
"id": "string",
"width": 320
},
"watermark": {
"height": 0,
"id": "string",
"position_preset": "POSITION_UNSPECIFIED",
"url": "string",
"width": 0
}
},
"last_execution_time": "2019-08-24T14:15:22Z",
"output_id": "string",
"output_status": "OUTPUT_STATUS_UNSPECIFIED",
"stream": {
"stream_id": "string"
}
}
],
"project_id": "string",
"status": "JOB_STATUS_UNSPECIFIED",
"title": "string",
"update_time": "2019-08-24T14:15:22Z"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
job | mycujoo.videostitching.v1.Job | false | none | none |
mycujoo.videostitching.v1.Input
{
"asset": {
"asset_id": "string",
"end_offset": "string",
"start_offset": "string"
},
"clip": {
"clip_id": "string",
"end_offset": "string",
"start_offset": "string"
},
"stream": {
"end_offset": "string",
"resource_type": "STREAM_RESOURCE_TYPE_UNSPECIFIED",
"start_offset": "string",
"stream_id": "string"
}
}
Input of the videostitching job
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
asset | mycujoo.videostitching.v1.AssetInput | false | none | none |
clip | mycujoo.videostitching.v1.ClipInput | false | none | none |
stream | mycujoo.videostitching.v1.StreamInput | false | none | none |
mycujoo.videostitching.v1.Job
{
"create_time": "2019-08-24T14:15:22Z",
"id": "string",
"inputs": [
{
"asset": {
"asset_id": "string",
"end_offset": "string",
"start_offset": "string"
},
"clip": {
"clip_id": "string",
"end_offset": "string",
"start_offset": "string"
},
"stream": {
"end_offset": "string",
"resource_type": "STREAM_RESOURCE_TYPE_UNSPECIFIED",
"start_offset": "string",
"stream_id": "string"
}
}
],
"org_id": "string",
"outputs": [
{
"asset": {
"asset_id": "string",
"transcoding_settings": {
"audio_bitrate": 32,
"follow_source_fps": true,
"gop": 25,
"id": "string",
"interlacing_filter_mode": "INTERLACING_FILTER_MODE_UNSPECIFIED",
"key_frame_interval": 1,
"level": 0.1,
"profile": "TRANSCODING_PROFILE_UNSPECIFIED"
},
"video_representation": {
"bitrate": 100,
"framerate": 24,
"height": 240,
"id": "string",
"width": 320
},
"watermark": {
"height": 0,
"id": "string",
"position_preset": "POSITION_UNSPECIFIED",
"url": "string",
"width": 0
}
},
"last_execution_time": "2019-08-24T14:15:22Z",
"output_id": "string",
"output_status": "OUTPUT_STATUS_UNSPECIFIED",
"stream": {
"stream_id": "string"
}
}
],
"project_id": "string",
"status": "JOB_STATUS_UNSPECIFIED",
"title": "string",
"update_time": "2019-08-24T14:15:22Z"
}
Represents a videostitching job
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
create_time | string(date-time) | false | none | none |
id | string | false | none | none |
inputs | [mycujoo.videostitching.v1.Input] | false | none | none |
org_id | string | false | none | none |
outputs | [mycujoo.videostitching.v1.Output] | false | none | none |
project_id | string | false | none | none |
status | mycujoo.videostitching.v1.JobStatus | false | none | none |
title | string | false | none | none |
update_time | string(date-time) | false | none | none |
mycujoo.videostitching.v1.JobStatus
"JOB_STATUS_UNSPECIFIED"
Status of the job
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Status of the job | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
Status of the job | JOB_STATUS_UNSPECIFIED |
Status of the job | JOB_STATUS_CREATED |
Status of the job | JOB_STATUS_READY |
Status of the job | JOB_STATUS_RUNNING |
Status of the job | JOB_STATUS_FAILED |
Status of the job | JOB_STATUS_PARTIALLY_FAILED |
Status of the job | JOB_STATUS_DONE |
Status of the job | JOB_STATUS_CANCELLED |
mycujoo.videostitching.v1.ListJobsResponse
{
"jobs": [
{
"create_time": "2019-08-24T14:15:22Z",
"id": "string",
"inputs": [
{
"asset": {
"asset_id": "string",
"end_offset": "string",
"start_offset": "string"
},
"clip": {
"clip_id": "string",
"end_offset": "string",
"start_offset": "string"
},
"stream": {
"end_offset": "string",
"resource_type": "STREAM_RESOURCE_TYPE_UNSPECIFIED",
"start_offset": "string",
"stream_id": "string"
}
}
],
"org_id": "string",
"outputs": [
{
"asset": {
"asset_id": "string",
"transcoding_settings": {
"audio_bitrate": 32,
"follow_source_fps": true,
"gop": 25,
"id": "string",
"interlacing_filter_mode": "INTERLACING_FILTER_MODE_UNSPECIFIED",
"key_frame_interval": 1,
"level": 0.1,
"profile": "TRANSCODING_PROFILE_UNSPECIFIED"
},
"video_representation": {
"bitrate": 100,
"framerate": 24,
"height": 240,
"id": "string",
"width": 320
},
"watermark": {
"height": 0,
"id": "string",
"position_preset": "POSITION_UNSPECIFIED",
"url": "string",
"width": 0
}
},
"last_execution_time": "2019-08-24T14:15:22Z",
"output_id": "string",
"output_status": "OUTPUT_STATUS_UNSPECIFIED",
"stream": {
"stream_id": "string"
}
}
],
"project_id": "string",
"status": "JOB_STATUS_UNSPECIFIED",
"title": "string",
"update_time": "2019-08-24T14:15:22Z"
}
],
"next_page_token": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
jobs | [mycujoo.videostitching.v1.Job] | false | none | none |
next_page_token | string | false | none | The pagination token that should be used to get next page results. An empty value means no more results. |
mycujoo.videostitching.v1.ListTranscodingSettingsResponse
{
"next_page_token": "string",
"transcoding_settings": [
{
"audio_bitrate": 32,
"follow_source_fps": true,
"gop": 25,
"id": "string",
"interlacing_filter_mode": "INTERLACING_FILTER_MODE_UNSPECIFIED",
"key_frame_interval": 1,
"level": 0.1,
"profile": "TRANSCODING_PROFILE_UNSPECIFIED"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
next_page_token | string | false | none | The pagination token that should be used to get next page results. An empty value means no more results. |
transcoding_settings | [mycujoo.videostitching.v1.TranscodingSettings] | false | none | none |
mycujoo.videostitching.v1.ListVideoRepresentationsResponse
{
"next_page_token": "string",
"video_representations": [
{
"bitrate": 100,
"framerate": 24,
"height": 240,
"id": "string",
"width": 320
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
next_page_token | string | false | none | The pagination token that should be used to get next page results. An empty value means no more results. |
video_representations | [mycujoo.videostitching.v1.VideoRepresentation] | false | none | none |
mycujoo.videostitching.v1.ListWatermarksResponse
{
"next_page_token": "string",
"watermarks": [
{
"height": 0,
"id": "string",
"position_preset": "POSITION_UNSPECIFIED",
"url": "string",
"width": 0
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
next_page_token | string | false | none | The pagination token that should be used to get next page results. An empty value means no more results. |
watermarks | [mycujoo.videostitching.v1.Watermark] | false | none | none |
mycujoo.videostitching.v1.Output
{
"asset": {
"asset_id": "string",
"transcoding_settings": {
"audio_bitrate": 32,
"follow_source_fps": true,
"gop": 25,
"id": "string",
"interlacing_filter_mode": "INTERLACING_FILTER_MODE_UNSPECIFIED",
"key_frame_interval": 1,
"level": 0.1,
"profile": "TRANSCODING_PROFILE_UNSPECIFIED"
},
"video_representation": {
"bitrate": 100,
"framerate": 24,
"height": 240,
"id": "string",
"width": 320
},
"watermark": {
"height": 0,
"id": "string",
"position_preset": "POSITION_UNSPECIFIED",
"url": "string",
"width": 0
}
},
"last_execution_time": "2019-08-24T14:15:22Z",
"output_id": "string",
"output_status": "OUTPUT_STATUS_UNSPECIFIED",
"stream": {
"stream_id": "string"
}
}
Output of the videostitching job
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
asset | mycujoo.videostitching.v1.AssetOutput | false | none | none |
last_execution_time | string(date-time) | false | none | none |
output_id | string | false | none | none |
output_status | mycujoo.videostitching.v1.OutputStatus | false | none | none |
stream | mycujoo.videostitching.v1.StreamOutput | false | none | none |
mycujoo.videostitching.v1.OutputStatus
"OUTPUT_STATUS_UNSPECIFIED"
Status of the output
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Status of the output | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
Status of the output | OUTPUT_STATUS_UNSPECIFIED |
Status of the output | OUTPUT_STATUS_TO_BE_PROCESSED |
Status of the output | OUTPUT_STATUS_PROCESSING |
Status of the output | OUTPUT_STATUS_FAILED |
Status of the output | OUTPUT_STATUS_DONE |
mycujoo.videostitching.v1.RequestedAssetOutput
{
"config": {
"transcoding_settings_id": "string",
"video_representation_id": "string",
"watermark_id": "string"
},
"labels": {
"property1": "string",
"property2": "string"
},
"title": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
config | mycujoo.videostitching.v1.RequestedAssetOutputConfig | false | none | none |
labels | object | false | none | none |
ยป additionalProperties | string | false | none | none |
title | string | false | none | none |
mycujoo.videostitching.v1.RequestedAssetOutputConfig
{
"transcoding_settings_id": "string",
"video_representation_id": "string",
"watermark_id": "string"
}
Configuration of the output video
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
transcoding_settings_id | string | false | none | none |
video_representation_id | string | false | none | none |
watermark_id | string | false | none | none |
mycujoo.videostitching.v1.RequestedOutput
{
"asset": {
"config": {
"transcoding_settings_id": "string",
"video_representation_id": "string",
"watermark_id": "string"
},
"labels": {
"property1": "string",
"property2": "string"
},
"title": "string"
},
"stream": {
"stream_id": "string"
}
}
Desired output of video stitching
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
asset | mycujoo.videostitching.v1.RequestedAssetOutput | false | none | none |
stream | mycujoo.videostitching.v1.RequestedStreamOutput | false | none | none |
mycujoo.videostitching.v1.RequestedStreamOutput
{
"stream_id": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
stream_id | string | false | none | none |
mycujoo.videostitching.v1.RetryJobResponse
{}
Properties
None
mycujoo.videostitching.v1.RetryOutputJobResponse
{}
Properties
None
mycujoo.videostitching.v1.StartJobResponse
{}
Properties
None
mycujoo.videostitching.v1.StreamInput
{
"end_offset": "string",
"resource_type": "STREAM_RESOURCE_TYPE_UNSPECIFIED",
"start_offset": "string",
"stream_id": "string"
}
Input of type stream
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
end_offset | string | false | none | none |
resource_type | mycujoo.videostitching.v1.StreamResourceType | false | none | - STREAM_RESOURCE_TYPE_PLAYLIST_TRANSCODED_HLS: Type playlist_transcoded_hls will select the transcoded hls playlist of provided stream - STREAM_RESOURCE_TYPE_CLIPS: Type clips will select all clips of provided stream (clips that are all children of this particular stream) |
start_offset | string | false | none | none |
stream_id | string | true | none | none |
mycujoo.videostitching.v1.StreamOutput
{
"stream_id": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
stream_id | string | false | none | none |
mycujoo.videostitching.v1.StreamResourceType
"STREAM_RESOURCE_TYPE_UNSPECIFIED"
Resource type of a stream
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Resource type of a stream | string | false | none | - STREAM_RESOURCE_TYPE_PLAYLIST_TRANSCODED_HLS: Type playlist_transcoded_hls will select the transcoded hls playlist of provided stream - STREAM_RESOURCE_TYPE_CLIPS: Type clips will select all clips of provided stream (clips that are all children of this particular stream) |
Enumerated Values
Property | Value |
---|---|
Resource type of a stream | STREAM_RESOURCE_TYPE_UNSPECIFIED |
Resource type of a stream | STREAM_RESOURCE_TYPE_PLAYLIST_TRANSCODED_HLS |
Resource type of a stream | STREAM_RESOURCE_TYPE_CLIPS |
mycujoo.videostitching.v1.TranscodingSettings
{
"audio_bitrate": 32,
"follow_source_fps": true,
"gop": 25,
"id": "string",
"interlacing_filter_mode": "INTERLACING_FILTER_MODE_UNSPECIFIED",
"key_frame_interval": 1,
"level": 0.1,
"profile": "TRANSCODING_PROFILE_UNSPECIFIED"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
audio_bitrate | integer(int32) | false | none | none |
follow_source_fps | boolean | false | none | none |
gop | integer(int32) | false | none | none |
id | string | false | none | none |
interlacing_filter_mode | mycujoo.videostitching.v1.TranscodingSettings.InterlacingFilterMode | false | none | none |
key_frame_interval | integer(int32) | false | none | none |
level | number(double) | false | none | none |
profile | mycujoo.videostitching.v1.TranscodingSettings.TranscodingProfile | false | none | none |
mycujoo.videostitching.v1.TranscodingSettings.InterlacingFilterMode
"INTERLACING_FILTER_MODE_UNSPECIFIED"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | INTERLACING_FILTER_MODE_UNSPECIFIED |
anonymous | INTERLACING_FILTER_MODE_INTERLACE |
anonymous | INTERLACING_FILTER_MODE_DEINTERLACE |
mycujoo.videostitching.v1.TranscodingSettings.TranscodingProfile
"TRANSCODING_PROFILE_UNSPECIFIED"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | TRANSCODING_PROFILE_UNSPECIFIED |
anonymous | TRANSCODING_PROFILE_BASELINE |
anonymous | TRANSCODING_PROFILE_MAIN |
anonymous | TRANSCODING_PROFILE_HIGH |
mycujoo.videostitching.v1.UpdateJobResponse
{}
Properties
None
mycujoo.videostitching.v1.VideoRepresentation
{
"bitrate": 100,
"framerate": 24,
"height": 240,
"id": "string",
"width": 320
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
bitrate | integer(int32) | false | none | none |
framerate | integer(int32) | false | none | none |
height | integer(int32) | false | none | none |
id | string | false | none | none |
width | integer(int32) | false | none | none |
mycujoo.videostitching.v1.Watermark
{
"height": 0,
"id": "string",
"position_preset": "POSITION_UNSPECIFIED",
"url": "string",
"width": 0
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
height | integer(int32) | false | none | none |
id | string | false | none | none |
position_preset | mycujoo.videostitching.v1.Watermark.Position | false | none | none |
url | string | false | none | none |
width | integer(int32) | false | none | none |
mycujoo.videostitching.v1.Watermark.Position
"POSITION_UNSPECIFIED"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | POSITION_UNSPECIFIED |
anonymous | POSITION_TOP_LEFT |
anonymous | POSITION_TOP_RIGHT |
anonymous | POSITION_BOTTOM_LEFT |
anonymous | POSITION_BOTTOM_RIGHT |
anonymous | POSITION_TOP_CENTER |
anonymous | POSITION_BOTTOM_CENTER |
anonymous | POSITION_CENTER |
mycujoo.vpn_blocking.v1.GetVPNBlockingResponse
{
"create_time": "2019-08-24T14:15:22Z",
"id": "string",
"is_enabled": true,
"org_id": "string",
"resource_id": "string",
"resource_type": "string",
"update_time": "2019-08-24T14:15:22Z"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
create_time | string(date-time) | false | none | none |
id | string | false | none | none |
is_enabled | boolean | false | none | none |
org_id | string | false | none | none |
resource_id | string | false | none | none |
resource_type | string | false | none | none |
update_time | string(date-time) | false | none | none |
mycujoo.vpn_blocking.v1.UpsertVPNBlockingResponse
{
"create_time": "2019-08-24T14:15:22Z",
"id": "string",
"is_enabled": true,
"org_id": "string",
"resource_id": "string",
"resource_type": "string",
"update_time": "2019-08-24T14:15:22Z"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
create_time | string(date-time) | false | none | none |
id | string | false | none | none |
is_enabled | boolean | false | none | none |
org_id | string | false | none | none |
resource_id | string | false | none | none |
resource_type | string | false | none | none |
update_time | string(date-time) | false | none | none |