Services
Use services to integrate with an external provider, such as Mailchimp. We currently support only a limited number but can add more. Simply get in touch.
They are used by hooks so if you would like to create a hook that uses an external provider, you will need to add that provider here first.
You can manage your services by making the following requests:
GET /services
Example request
shell
curl \
-H "Authorization: Bearer YOUR-API-KEY" \
"https://api.vidbeo.com/v2/services"
Example response
json
{
"success": true,
"result": [
{
"id": "abcde12345abcde12345a",
"name": "YouTube",
"provider": "youtube",
"authentication": "oauth2",
"permissions": [],
"api_email": "",
"api_key": "",
"oauth2_grant_type": "authorization_code",
"oauth2_authorized": false,
"created_by": "abcde12345abcde12345a",
"created_time": "2022-01-01T00:00:00.000Z",
"updated_by": "abcde12345abcde12345a",
"updated_time": "2022-01-01T00:00:00.000Z"
}
],
"links": {},
"errors": []
}
Optional parameters (query string)
Name | Type | Default | Information |
---|---|---|---|
limit | String | 25 | Maximum number to return |
cursor | String | "" | Used to get the next page of results: if applicable we return this as part of the links.next URL |
GET /services/:id
Example request
shell
curl \
-H "Authorization: Bearer YOUR-API-KEY" \
"https://api.vidbeo.com/v2/services/abcde12345abcde12345a"
Example response
json
{
"success": true,
"result": {
"id": "abcde12345abcde12345a",
"name": "YouTube",
"provider": "youtube",
"authentication": "oauth2",
"permissions": [],
"api_email": "",
"api_key": "",
"oauth2_grant_type": "authorization_code",
"oauth2_authorized": false,
"created_by": "abcde12345abcde12345a",
"created_time": "2022-01-01T00:00:00.000Z",
"updated_by": "abcde12345abcde12345a",
"updated_time": "2022-01-01T00:00:00.000Z"
},
"links": null,
"errors": []
}
Response format
Key | Type | Description |
---|---|---|
id | String | The unique identifier given to this service |
name | String | The name of this service (a short label for it) |
provider | String | The company providing the service. We support: "mailchimp" "campaign_monitor" "youtube" |
authentication | String | How requests should be authenticated. All providers currently use "oauth2" |
permissions | Array | If applicable to the service provider, the permissions we asked for (as an array of strings) |
api_email | String | Currently N/A |
api_key | String | Currently N/A |
oauth2_grant_type | String | We currently only support the "authoriztion_code" OAuth2 flow and so will set this |
oauth2_authorized | Boolean | We set this as true once the connection to your provider's account is approved |
created_by | String | The ID of the user who created it (if known) |
created_time | String | The date and time it was created |
updated_by | String | The ID of the user who last modified it (if known) |
updated_time | String | The date and time it was last modified |
PATCH /services/:id
The body of the request should contain one, or more, attributes that you would like to update for the service.
Example request
shell
curl \
-g \
-H "Authorization: Bearer YOUR-API-KEY" \
-H "Content-Type: application/json" \
-X PATCH \
-d '{"name":"New name"}' \
"https://api.vidbeo.com/v2/services/abcde12345abcde12345a"
Example response
json
{
"success": true,
"result": {
"id": "abcde12345abcde12345a",
"name": "New name",
"provider": "youtube",
"authentication": "oauth2",
"permissions": ["https://www.googleapis.com/auth/youtube.upload"],
"api_email": "",
"api_key": "",
"oauth2_grant_type": "authorization_code",
"oauth2_authorized": false,
"created_by": "abcde12345abcde12345a",
"created_time": "2022-01-01T00:00:00.000Z",
"updated_by": "abcde12345abcde12345a",
"updated_time": "2022-01-01T00:00:00.000Z"
},
"links": null,
"errors": []
}
DELETE /services/:id
Example request
shell
curl \
-H "Authorization: Bearer YOUR-API-KEY" \
-X DELETE \
"https://api.vidbeo.com/v2/services/abcde12345abcde12345a"
Example response
json
{
"success": true,
"result": {},
"links": null,
"errors": []
}
POST /services
Required parameters
You must give it a short name and choose the provider to integrate:
Key | Type | Description |
---|---|---|
name | String | The name of the service (1-40 characters) |
provider | String | We currently support "mailchimp" "campaign_monitor" "youtube" |
We set the other values internally. For example we know the permissions our hooks need and which type of authentication each provider uses. All providers we integrate with currently use oauth2 for authentication.
Example request
shell
curl \
-g \
-H "Authorization: Bearer YOUR-API-KEY" \
-H "Content-Type: application/json" \
-X POST \
-d '{"name":"YouTube","provider":"youtube"}' \
"https://api.vidbeo.com/v2/services"
Example response
json
{
"success": true,
"result": {
"id": "abcde12345abcde12345a",
"name": "YouTube",
"provider": "youtube",
"authentication": "oauth2",
"permissions": ["https://www.googleapis.com/auth/youtube.upload"],
"api_email": "",
"api_key": "",
"oauth2_grant_type": "authorization_code",
"oauth2_authorized": false,
"created_by": "abcde12345abcde12345a",
"created_time": "2022-01-01T00:00:00.000Z",
"updated_by": "abcde12345abcde12345a",
"updated_time": "2022-01-01T00:00:00.000Z"
},
"links": null,
"errors": []
}