Create a new version of a usage group set
curl --request POST \
--url https://api.select.dev/api/{organization_id}/usage-group-sets/{usage_group_set_id}/versions \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.select.dev/api/{organization_id}/usage-group-sets/{usage_group_set_id}/versions"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.select.dev/api/{organization_id}/usage-group-sets/{usage_group_set_id}/versions', 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://api.select.dev/api/{organization_id}/usage-group-sets/{usage_group_set_id}/versions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.select.dev/api/{organization_id}/usage-group-sets/{usage_group_set_id}/versions"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.select.dev/api/{organization_id}/usage-group-sets/{usage_group_set_id}/versions")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.select.dev/api/{organization_id}/usage-group-sets/{usage_group_set_id}/versions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"created_by": "<string>",
"usage_group_set_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}usage-group-sets
Create a new version of a usage group set
deprecated
Create a new version of a usage group set with a copy of all current usage groups. This is useful when you want to preserve the current state before making changes.
POST
/
api
/
{organization_id}
/
usage-group-sets
/
{usage_group_set_id}
/
versions
Create a new version of a usage group set
curl --request POST \
--url https://api.select.dev/api/{organization_id}/usage-group-sets/{usage_group_set_id}/versions \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.select.dev/api/{organization_id}/usage-group-sets/{usage_group_set_id}/versions"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.select.dev/api/{organization_id}/usage-group-sets/{usage_group_set_id}/versions', 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://api.select.dev/api/{organization_id}/usage-group-sets/{usage_group_set_id}/versions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.select.dev/api/{organization_id}/usage-group-sets/{usage_group_set_id}/versions"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.select.dev/api/{organization_id}/usage-group-sets/{usage_group_set_id}/versions")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.select.dev/api/{organization_id}/usage-group-sets/{usage_group_set_id}/versions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"created_by": "<string>",
"usage_group_set_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}This v1 endpoint is deprecated and will be removed in the coming weeks.
There is no direct v2 equivalent. In the v2 API, a new version is created
automatically as a side effect of updating a usage group set. Use
PATCH /usage-group-sets/{usage_group_set_id}
to create a version, and
GET /usage-group-sets/{usage_group_set_id}/versions
to list them. See the v2 API for details.Authorizations
HTTPBearerHTTPBearer
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The ID of the usage group set
Response
Successful Response
Response schema for version creation.
The unique identifier of the newly created version.
The timestamp when the version was created.
The user/API key that created this version.
The ID of the usage group set this version belongs to.

