Skip to main content
POST
/
api
/
v2
/
service
/
create
Create Service
curl --request POST \
  --url https://app.octavehq.com/api/v2/service/create \
  --header 'Content-Type: application/json' \
  --header 'api_key: <api-key>' \
  --data '
{
  "name": "Managed Analytics Onboarding",
  "internalName": "Analytics Onboarding Service",
  "description": "Hands-on onboarding engagement that configures and validates customer analytics dashboards",
  "primaryUrl": "https://www.example.com/services/onboarding",
  "summary": "6-week onboarding engagement for enterprise customers",
  "deliverables": [
    "Onboarding plan",
    "Integration runbook",
    "Training session"
  ],
  "competencies": [
    "Data engineering",
    "Customer success"
  ],
  "comparativeAdvantage": [
    "Faster time to value",
    "Dedicated success engineer"
  ],
  "likelyAlternative": [
    "In-house rollout",
    "Generalist consulting firm"
  ],
  "challengesAddressed": [
    "Slow time to insight",
    "Ad-hoc data pipelines"
  ],
  "customerBenefits": [
    "Reliable reporting",
    "Reduced internal engineering load"
  ],
  "customFields": [
    {
      "title": "<string>",
      "value": [
        "<string>"
      ]
    }
  ]
}
'
import requests

url = "https://app.octavehq.com/api/v2/service/create"

payload = {
"name": "Managed Analytics Onboarding",
"internalName": "Analytics Onboarding Service",
"description": "Hands-on onboarding engagement that configures and validates customer analytics dashboards",
"primaryUrl": "https://www.example.com/services/onboarding",
"summary": "6-week onboarding engagement for enterprise customers",
"deliverables": ["Onboarding plan", "Integration runbook", "Training session"],
"competencies": ["Data engineering", "Customer success"],
"comparativeAdvantage": ["Faster time to value", "Dedicated success engineer"],
"likelyAlternative": ["In-house rollout", "Generalist consulting firm"],
"challengesAddressed": ["Slow time to insight", "Ad-hoc data pipelines"],
"customerBenefits": ["Reliable reporting", "Reduced internal engineering load"],
"customFields": [
{
"title": "<string>",
"value": ["<string>"]
}
]
}
headers = {
"api_key": "<api-key>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {api_key: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Managed Analytics Onboarding',
internalName: 'Analytics Onboarding Service',
description: 'Hands-on onboarding engagement that configures and validates customer analytics dashboards',
primaryUrl: 'https://www.example.com/services/onboarding',
summary: '6-week onboarding engagement for enterprise customers',
deliverables: ['Onboarding plan', 'Integration runbook', 'Training session'],
competencies: ['Data engineering', 'Customer success'],
comparativeAdvantage: ['Faster time to value', 'Dedicated success engineer'],
likelyAlternative: ['In-house rollout', 'Generalist consulting firm'],
challengesAddressed: ['Slow time to insight', 'Ad-hoc data pipelines'],
customerBenefits: ['Reliable reporting', 'Reduced internal engineering load'],
customFields: [{title: '<string>', value: ['<string>']}]
})
};

fetch('https://app.octavehq.com/api/v2/service/create', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://app.octavehq.com/api/v2/service/create",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Managed Analytics Onboarding',
'internalName' => 'Analytics Onboarding Service',
'description' => 'Hands-on onboarding engagement that configures and validates customer analytics dashboards',
'primaryUrl' => 'https://www.example.com/services/onboarding',
'summary' => '6-week onboarding engagement for enterprise customers',
'deliverables' => [
'Onboarding plan',
'Integration runbook',
'Training session'
],
'competencies' => [
'Data engineering',
'Customer success'
],
'comparativeAdvantage' => [
'Faster time to value',
'Dedicated success engineer'
],
'likelyAlternative' => [
'In-house rollout',
'Generalist consulting firm'
],
'challengesAddressed' => [
'Slow time to insight',
'Ad-hoc data pipelines'
],
'customerBenefits' => [
'Reliable reporting',
'Reduced internal engineering load'
],
'customFields' => [
[
'title' => '<string>',
'value' => [
'<string>'
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"api_key: <api-key>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://app.octavehq.com/api/v2/service/create"

payload := strings.NewReader("{\n \"name\": \"Managed Analytics Onboarding\",\n \"internalName\": \"Analytics Onboarding Service\",\n \"description\": \"Hands-on onboarding engagement that configures and validates customer analytics dashboards\",\n \"primaryUrl\": \"https://www.example.com/services/onboarding\",\n \"summary\": \"6-week onboarding engagement for enterprise customers\",\n \"deliverables\": [\n \"Onboarding plan\",\n \"Integration runbook\",\n \"Training session\"\n ],\n \"competencies\": [\n \"Data engineering\",\n \"Customer success\"\n ],\n \"comparativeAdvantage\": [\n \"Faster time to value\",\n \"Dedicated success engineer\"\n ],\n \"likelyAlternative\": [\n \"In-house rollout\",\n \"Generalist consulting firm\"\n ],\n \"challengesAddressed\": [\n \"Slow time to insight\",\n \"Ad-hoc data pipelines\"\n ],\n \"customerBenefits\": [\n \"Reliable reporting\",\n \"Reduced internal engineering load\"\n ],\n \"customFields\": [\n {\n \"title\": \"<string>\",\n \"value\": [\n \"<string>\"\n ]\n }\n ]\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("api_key", "<api-key>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://app.octavehq.com/api/v2/service/create")
.header("api_key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Managed Analytics Onboarding\",\n \"internalName\": \"Analytics Onboarding Service\",\n \"description\": \"Hands-on onboarding engagement that configures and validates customer analytics dashboards\",\n \"primaryUrl\": \"https://www.example.com/services/onboarding\",\n \"summary\": \"6-week onboarding engagement for enterprise customers\",\n \"deliverables\": [\n \"Onboarding plan\",\n \"Integration runbook\",\n \"Training session\"\n ],\n \"competencies\": [\n \"Data engineering\",\n \"Customer success\"\n ],\n \"comparativeAdvantage\": [\n \"Faster time to value\",\n \"Dedicated success engineer\"\n ],\n \"likelyAlternative\": [\n \"In-house rollout\",\n \"Generalist consulting firm\"\n ],\n \"challengesAddressed\": [\n \"Slow time to insight\",\n \"Ad-hoc data pipelines\"\n ],\n \"customerBenefits\": [\n \"Reliable reporting\",\n \"Reduced internal engineering load\"\n ],\n \"customFields\": [\n {\n \"title\": \"<string>\",\n \"value\": [\n \"<string>\"\n ]\n }\n ]\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://app.octavehq.com/api/v2/service/create")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["api_key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Managed Analytics Onboarding\",\n \"internalName\": \"Analytics Onboarding Service\",\n \"description\": \"Hands-on onboarding engagement that configures and validates customer analytics dashboards\",\n \"primaryUrl\": \"https://www.example.com/services/onboarding\",\n \"summary\": \"6-week onboarding engagement for enterprise customers\",\n \"deliverables\": [\n \"Onboarding plan\",\n \"Integration runbook\",\n \"Training session\"\n ],\n \"competencies\": [\n \"Data engineering\",\n \"Customer success\"\n ],\n \"comparativeAdvantage\": [\n \"Faster time to value\",\n \"Dedicated success engineer\"\n ],\n \"likelyAlternative\": [\n \"In-house rollout\",\n \"Generalist consulting firm\"\n ],\n \"challengesAddressed\": [\n \"Slow time to insight\",\n \"Ad-hoc data pipelines\"\n ],\n \"customerBenefits\": [\n \"Reliable reporting\",\n \"Reduced internal engineering load\"\n ],\n \"customFields\": [\n {\n \"title\": \"<string>\",\n \"value\": [\n \"<string>\"\n ]\n }\n ]\n}"

response = http.request(request)
puts response.read_body
{
  "_metadata": {
    "requestId": "requestId",
    "timestamp": "2021-01-01T00:00:00.000Z",
    "usage": 0,
    "message": "message"
  },
  "data": {
    "oId": "p_1234",
    "createdAt": "2021-01-01",
    "data": {
      "type": "SERVICE",
      "summary": "<string>",
      "deliverables": [
        "Deliverable 1",
        "Deliverable 2"
      ],
      "competencies": [
        "Competency 1",
        "Competency 2"
      ],
      "comparativeAdvantage": [
        "Advantage 1",
        "Advantage 2"
      ],
      "likelyAlternative": [
        "Alternative 1",
        "Alternative 2"
      ],
      "challengesAddressed": [
        "Challenge 1",
        "Challenge 2"
      ],
      "customerBenefits": [
        "Benefit 1",
        "Benefit 2"
      ],
      "customFields": [
        {
          "title": "<string>",
          "value": [
            "<string>"
          ]
        }
      ]
    },
    "user": {
      "oId": "u_1234",
      "firstName": "John",
      "lastName": "Doe"
    },
    "workspace": {
      "oId": "wa_1234"
    },
    "updatedAt": "2021-01-01",
    "archivedAt": "2021-01-01",
    "deletedAt": "2021-01-01",
    "name": "Service Name",
    "internalName": "Service Internal Name",
    "description": "Service Description",
    "primaryUrl": "https://www.service.com",
    "active": true,
    "qualifyingQuestions": [
      {
        "question": "<string>",
        "rationale": "<string>",
        "fitType": "GOOD",
        "weight": "MEDIUM",
        "archivedAt": "<string>"
      }
    ]
  }
}
{
"_metadata": {
"requestId": "requestId",
"timestamp": "2021-01-01T00:00:00.000Z",
"usage": 0,
"message": "message"
},
"message": "<string>"
}

Authorizations

api_key
string
header
required

Body

application/json

Service creation input

name
string
required

The external name of the service

Minimum string length: 1
Example:

"Managed Analytics Onboarding"

internalName
string

The internal name of the service

Example:

"Analytics Onboarding Service"

description
string

A description of the service

Example:

"Hands-on onboarding engagement that configures and validates customer analytics dashboards"

primaryUrl
string<uri>

The primary URL of the service

Example:

"https://www.example.com/services/onboarding"

summary
string

A brief summary of the service

Example:

"6-week onboarding engagement for enterprise customers"

deliverables
string[]

Key deliverables of the service

Example:
[
"Onboarding plan",
"Integration runbook",
"Training session"
]
competencies
string[]

Key competencies required for the service

Example:
["Data engineering", "Customer success"]
comparativeAdvantage
string[]

The comparative advantage of the service

Example:
[
"Faster time to value",
"Dedicated success engineer"
]
likelyAlternative
string[]

The likely alternative to the service

Example:
[
"In-house rollout",
"Generalist consulting firm"
]
challengesAddressed
string[]

The challenges addressed by the service

Example:
[
"Slow time to insight",
"Ad-hoc data pipelines"
]
customerBenefits
string[]

The customer benefits of the service

Example:
[
"Reliable reporting",
"Reduced internal engineering load"
]
customFields
object[]

Custom fields for additional service information

Response

Service created successfully

_metadata
object
required
data
object
required