JavaScript
JavaScript
import
Opriven
from
'@opriven/sdk'
;
const
client
=
new
Opriven
({
apiKey:
process
.
env
[
'OPRIVEN_API_KEY'
],
// This is the default and can be omitted
});
const
issue
=
await
client
.
issues
.
create
({
description:
'x'
,
environment:
'x'
,
title:
'x'
,
});
console
.
log
(
issue
.
uuid
);
curl --request POST \
  --url https://bff.opriven.com/api/v2/issues \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "title": "<string>",
  "description": "<string>",
  "environment": "<string>",
  "triggeredAt": "2023-11-07T05:31:56Z",
  "context": {
    "alertUrl": "<string>",
    "service": "<string>",
    "traceId": "<string>",
    "spanId": "<string>",
    "errorType": "<string>",
    "errorMessage": "<string>",
    "host": "<string>",
    "region": "<string>",
    "version": "<string>",
    "tags": [
      "<string>"
    ],
    "metadata": {}
  }
}
'
import requests

url = "https://bff.opriven.com/api/v2/issues"

payload = {
    "title": "<string>",
    "description": "<string>",
    "environment": "<string>",
    "triggeredAt": "2023-11-07T05:31:56Z",
    "context": {
        "alertUrl": "<string>",
        "service": "<string>",
        "traceId": "<string>",
        "spanId": "<string>",
        "errorType": "<string>",
        "errorMessage": "<string>",
        "host": "<string>",
        "region": "<string>",
        "version": "<string>",
        "tags": ["<string>"],
        "metadata": {}
    }
}
headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

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

print(response.text)
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://bff.opriven.com/api/v2/issues",
  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([
    'title' => '<string>',
    'description' => '<string>',
    'environment' => '<string>',
    'triggeredAt' => '2023-11-07T05:31:56Z',
    'context' => [
        'alertUrl' => '<string>',
        'service' => '<string>',
        'traceId' => '<string>',
        'spanId' => '<string>',
        'errorType' => '<string>',
        'errorMessage' => '<string>',
        'host' => '<string>',
        'region' => '<string>',
        'version' => '<string>',
        'tags' => [
                '<string>'
        ],
        'metadata' => [
                
        ]
    ]
  ]),
  CURLOPT_HTTPHEADER => [
    "Authorization: Bearer <token>",
    "Content-Type: application/json"
  ],
]);

$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://bff.opriven.com/api/v2/issues"

	payload := strings.NewReader("{\n  \"title\": \"<string>\",\n  \"description\": \"<string>\",\n  \"environment\": \"<string>\",\n  \"triggeredAt\": \"2023-11-07T05:31:56Z\",\n  \"context\": {\n    \"alertUrl\": \"<string>\",\n    \"service\": \"<string>\",\n    \"traceId\": \"<string>\",\n    \"spanId\": \"<string>\",\n    \"errorType\": \"<string>\",\n    \"errorMessage\": \"<string>\",\n    \"host\": \"<string>\",\n    \"region\": \"<string>\",\n    \"version\": \"<string>\",\n    \"tags\": [\n      \"<string>\"\n    ],\n    \"metadata\": {}\n  }\n}")

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

	req.Header.Add("Authorization", "Bearer <token>")
	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://bff.opriven.com/api/v2/issues")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{\n  \"title\": \"<string>\",\n  \"description\": \"<string>\",\n  \"environment\": \"<string>\",\n  \"triggeredAt\": \"2023-11-07T05:31:56Z\",\n  \"context\": {\n    \"alertUrl\": \"<string>\",\n    \"service\": \"<string>\",\n    \"traceId\": \"<string>\",\n    \"spanId\": \"<string>\",\n    \"errorType\": \"<string>\",\n    \"errorMessage\": \"<string>\",\n    \"host\": \"<string>\",\n    \"region\": \"<string>\",\n    \"version\": \"<string>\",\n    \"tags\": [\n      \"<string>\"\n    ],\n    \"metadata\": {}\n  }\n}")
  .asString();
require 'uri'
require 'net/http'

url = URI("https://bff.opriven.com/api/v2/issues")

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

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"title\": \"<string>\",\n  \"description\": \"<string>\",\n  \"environment\": \"<string>\",\n  \"triggeredAt\": \"2023-11-07T05:31:56Z\",\n  \"context\": {\n    \"alertUrl\": \"<string>\",\n    \"service\": \"<string>\",\n    \"traceId\": \"<string>\",\n    \"spanId\": \"<string>\",\n    \"errorType\": \"<string>\",\n    \"errorMessage\": \"<string>\",\n    \"host\": \"<string>\",\n    \"region\": \"<string>\",\n    \"version\": \"<string>\",\n    \"tags\": [\n      \"<string>\"\n    ],\n    \"metadata\": {}\n  }\n}"

response = http.request(request)
puts response.read_body
201
400
401
403
429
500
{
"uuid"
:
"<string>"
,
"number"
:
4503599627370495
,
"status"
:
"investigating"
,
"title"
:
"<string>"
,
"description"
:
"<string>"
,
"severity"
:
"low"
,
"createdAt"
:
"2023-11-07T05:31:56Z"
,
"updatedAt"
:
"2023-11-07T05:31:56Z"
,
"triggeredAt"
:
"2023-11-07T05:31:56Z"
,
"latestVersion"
:
4503599627370496
,
"environment"
:
"<string>"
}
{
  "type": "api_error",
  "message": "<string>",
  "request_id": "<string>",
  "details": {}
}
{
  "type": "api_error",
  "message": "<string>",
  "request_id": "<string>",
  "details": {}
}
{
  "type": "api_error",
  "message": "<string>",
  "request_id": "<string>",
  "details": {}
}
{
  "type": "api_error",
  "message": "<string>",
  "request_id": "<string>",
  "details": {}
}
{
  "type": "api_error",
  "message": "<string>",
  "request_id": "<string>",
  "details": {}
}
Issues
Create a new issue
Copy page
Copy page
Creates a new issue and optionally starts an automated investigation. The issue is created from the provided details, with a seed generated internally. Investigation runs asynchronously - poll GET /issues/
to check status.
Copy page
Copy page
POST
https://bff.opriven.com/api/v2
https://bff.dev.opriven.com/api/v2
/
issues
Try it
JavaScript
JavaScript
import
Opriven
from
'@opriven/sdk'
;
const
client
=
new
Opriven
({
apiKey:
process
.
env
[
'OPRIVEN_API_KEY'
],
// This is the default and can be omitted
});
const
issue
=
await
client
.
issues
.
create
({
description:
'x'
,
environment:
'x'
,
title:
'x'
,
});
console
.
log
(
issue
.
uuid
);
curl --request POST \
  --url https://bff.opriven.com/api/v2/issues \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "title": "<string>",
  "description": "<string>",
  "environment": "<string>",
  "triggeredAt": "2023-11-07T05:31:56Z",
  "context": {
    "alertUrl": "<string>",
    "service": "<string>",
    "traceId": "<string>",
    "spanId": "<string>",
    "errorType": "<string>",
    "errorMessage": "<string>",
    "host": "<string>",
    "region": "<string>",
    "version": "<string>",
    "tags": [
      "<string>"
    ],
    "metadata": {}
  }
}
'
import requests

url = "https://bff.opriven.com/api/v2/issues"

payload = {
    "title": "<string>",
    "description": "<string>",
    "environment": "<string>",
    "triggeredAt": "2023-11-07T05:31:56Z",
    "context": {
        "alertUrl": "<string>",
        "service": "<string>",
        "traceId": "<string>",
        "spanId": "<string>",
        "errorType": "<string>",
        "errorMessage": "<string>",
        "host": "<string>",
        "region": "<string>",
        "version": "<string>",
        "tags": ["<string>"],
        "metadata": {}
    }
}
headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

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

print(response.text)
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://bff.opriven.com/api/v2/issues",
  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([
    'title' => '<string>',
    'description' => '<string>',
    'environment' => '<string>',
    'triggeredAt' => '2023-11-07T05:31:56Z',
    'context' => [
        'alertUrl' => '<string>',
        'service' => '<string>',
        'traceId' => '<string>',
        'spanId' => '<string>',
        'errorType' => '<string>',
        'errorMessage' => '<string>',
        'host' => '<string>',
        'region' => '<string>',
        'version' => '<string>',
        'tags' => [
                '<string>'
        ],
        'metadata' => [
                
        ]
    ]
  ]),
  CURLOPT_HTTPHEADER => [
    "Authorization: Bearer <token>",
    "Content-Type: application/json"
  ],
]);

$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://bff.opriven.com/api/v2/issues"

	payload := strings.NewReader("{\n  \"title\": \"<string>\",\n  \"description\": \"<string>\",\n  \"environment\": \"<string>\",\n  \"triggeredAt\": \"2023-11-07T05:31:56Z\",\n  \"context\": {\n    \"alertUrl\": \"<string>\",\n    \"service\": \"<string>\",\n    \"traceId\": \"<string>\",\n    \"spanId\": \"<string>\",\n    \"errorType\": \"<string>\",\n    \"errorMessage\": \"<string>\",\n    \"host\": \"<string>\",\n    \"region\": \"<string>\",\n    \"version\": \"<string>\",\n    \"tags\": [\n      \"<string>\"\n    ],\n    \"metadata\": {}\n  }\n}")

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

	req.Header.Add("Authorization", "Bearer <token>")
	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://bff.opriven.com/api/v2/issues")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{\n  \"title\": \"<string>\",\n  \"description\": \"<string>\",\n  \"environment\": \"<string>\",\n  \"triggeredAt\": \"2023-11-07T05:31:56Z\",\n  \"context\": {\n    \"alertUrl\": \"<string>\",\n    \"service\": \"<string>\",\n    \"traceId\": \"<string>\",\n    \"spanId\": \"<string>\",\n    \"errorType\": \"<string>\",\n    \"errorMessage\": \"<string>\",\n    \"host\": \"<string>\",\n    \"region\": \"<string>\",\n    \"version\": \"<string>\",\n    \"tags\": [\n      \"<string>\"\n    ],\n    \"metadata\": {}\n  }\n}")
  .asString();
require 'uri'
require 'net/http'

url = URI("https://bff.opriven.com/api/v2/issues")

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

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"title\": \"<string>\",\n  \"description\": \"<string>\",\n  \"environment\": \"<string>\",\n  \"triggeredAt\": \"2023-11-07T05:31:56Z\",\n  \"context\": {\n    \"alertUrl\": \"<string>\",\n    \"service\": \"<string>\",\n    \"traceId\": \"<string>\",\n    \"spanId\": \"<string>\",\n    \"errorType\": \"<string>\",\n    \"errorMessage\": \"<string>\",\n    \"host\": \"<string>\",\n    \"region\": \"<string>\",\n    \"version\": \"<string>\",\n    \"tags\": [\n      \"<string>\"\n    ],\n    \"metadata\": {}\n  }\n}"

response = http.request(request)
puts response.read_body
201
400
401
403
429
500
{
"uuid"
:
"<string>"
,
"number"
:
4503599627370495
,
"status"
:
"investigating"
,
"title"
:
"<string>"
,
"description"
:
"<string>"
,
"severity"
:
"low"
,
"createdAt"
:
"2023-11-07T05:31:56Z"
,
"updatedAt"
:
"2023-11-07T05:31:56Z"
,
"triggeredAt"
:
"2023-11-07T05:31:56Z"
,
"latestVersion"
:
4503599627370496
,
"environment"
:
"<string>"
}
{
  "type": "api_error",
  "message": "<string>",
  "request_id": "<string>",
  "details": {}
}
{
  "type": "api_error",
  "message": "<string>",
  "request_id": "<string>",
  "details": {}
}
{
  "type": "api_error",
  "message": "<string>",
  "request_id": "<string>",
  "details": {}
}
{
  "type": "api_error",
  "message": "<string>",
  "request_id": "<string>",
  "details": {}
}
{
  "type": "api_error",
  "message": "<string>",
  "request_id": "<string>",
  "details": {}
}
Authorizations
Authorization
string
header
required
API key authentication via Bearer token
Headers
Opriven-Version
string
default:
2026-03-17
The API version to use. Defaults to the latest stable version if omitted. Pin to the version string in this document's
info.version
field to opt into exactly this version's schema.
Example
:
"2026-03-17"
Body
application/json
title
string
required
Issue title (human-readable summary)
Required string length:
1 - 500
description
string
required
Detailed description of the issue
Minimum string length:
1
environment
string
required
Environment where the issue occurred (e.g., production, staging)
Minimum string length:
1
severity
enum<string>
Issue severity level (defaults to MEDIUM if not specified)
Available options
:
low
,
medium
,
high
triggeredAt
string<date-time>
ISO 8601 timestamp when the issue was triggered (defaults to current time)
Pattern:
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
context
object
Additional context metadata for enriching the investigation
Show
child attributes
Response
201
application/json
Issue created successfully
uuid
string
required
Issue unique identifier
number
integer
required
Issue number (scoped per-organization)
Required range
:
0 < x <= 9007199254740991
status
enum<string>
required
Current issue status
Available options
:
investigating
,
ready_to_fix
,
resolved
,
muted
title
string
required
Issue title
description
string
required
Issue description
severity
enum<string>
required
Issue severity level
Available options
:
low
,
medium
,
high
createdAt
string<date-time>
required
Date and time the issue was created
Pattern:
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
updatedAt
string<date-time>
required
Date and time the issue was last updated
Pattern:
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
triggeredAt
string<date-time>
required
Timestamp when the issue was triggered
Pattern:
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
latestVersion
integer
required
Most recent version of this issue
Required range
:
1 <= x <= 9007199254740991
environment
string
Environment where issue occurred
Fetch issues for an organization
Fetch issue by number
Powered by
This documentation is built and hosted on Mintlify, a developer documentation platform