Skip to main content
POST
/
api
/
product-subscriptions
Create ProductSubscription
curl --request POST \
  --url https://platform.kodexa.ai/api/product-subscriptions \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "changeSequence": 123,
  "createdOn": "2023-11-07T05:31:56Z",
  "id": "<string>",
  "organization": {
    "archived": true,
    "authGroupLink": {
      "authGroup": "<string>"
    },
    "changeSequence": 123,
    "createdOn": "2023-11-07T05:31:56Z",
    "defaultToPrivateTemplates": true,
    "description": "Document processing organization for Acme Corp.",
    "enterpriseOrganization": true,
    "features": {},
    "hasImage": true,
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "memory": {
      "orderedDashboards": [
        "<string>"
      ]
    },
    "name": "Acme Corp",
    "organizationStatus": "ACTIVE",
    "properties": {},
    "publicAccess": true,
    "searchText": "<string>",
    "slug": "acme-corp",
    "stripeCustomerId": "<string>",
    "supportAccess": true,
    "supportAccessExpiresAt": "2023-11-07T05:31:56Z",
    "updatedOn": "2023-11-07T05:31:56Z",
    "uuid": "550e8400e29b41d4a716446655440000"
  },
  "organizationId": "<string>",
  "product": {
    "changeSequence": 123,
    "createdOn": "2023-11-07T05:31:56Z",
    "description": "<string>",
    "id": "<string>",
    "imageUrl": "<string>",
    "name": "<string>",
    "overviewMarkdown": "<string>",
    "productGroup": {
      "active": true,
      "changeSequence": 123,
      "createdOn": "2023-11-07T05:31:56Z",
      "description": "<string>",
      "id": "<string>",
      "name": "<string>",
      "order": 123,
      "overviewMarkdown": "<string>",
      "products": "<array>",
      "searchText": "<string>",
      "updatedOn": "2023-11-07T05:31:56Z",
      "uuid": "<string>"
    },
    "productGroupId": "<string>",
    "searchText": "<string>",
    "updatedOn": "2023-11-07T05:31:56Z",
    "uuid": "<string>"
  },
  "productId": "<string>",
  "quantity": 123,
  "updatedOn": "2023-11-07T05:31:56Z",
  "uuid": "<string>"
}
'
import requests

url = "https://platform.kodexa.ai/api/product-subscriptions"

payload = {
"changeSequence": 123,
"createdOn": "2023-11-07T05:31:56Z",
"id": "<string>",
"organization": {
"archived": True,
"authGroupLink": { "authGroup": "<string>" },
"changeSequence": 123,
"createdOn": "2023-11-07T05:31:56Z",
"defaultToPrivateTemplates": True,
"description": "Document processing organization for Acme Corp.",
"enterpriseOrganization": True,
"features": {},
"hasImage": True,
"id": "550e8400-e29b-41d4-a716-446655440000",
"memory": { "orderedDashboards": ["<string>"] },
"name": "Acme Corp",
"organizationStatus": "ACTIVE",
"properties": {},
"publicAccess": True,
"searchText": "<string>",
"slug": "acme-corp",
"stripeCustomerId": "<string>",
"supportAccess": True,
"supportAccessExpiresAt": "2023-11-07T05:31:56Z",
"updatedOn": "2023-11-07T05:31:56Z",
"uuid": "550e8400e29b41d4a716446655440000"
},
"organizationId": "<string>",
"product": {
"changeSequence": 123,
"createdOn": "2023-11-07T05:31:56Z",
"description": "<string>",
"id": "<string>",
"imageUrl": "<string>",
"name": "<string>",
"overviewMarkdown": "<string>",
"productGroup": {
"active": True,
"changeSequence": 123,
"createdOn": "2023-11-07T05:31:56Z",
"description": "<string>",
"id": "<string>",
"name": "<string>",
"order": 123,
"overviewMarkdown": "<string>",
"products": "<array>",
"searchText": "<string>",
"updatedOn": "2023-11-07T05:31:56Z",
"uuid": "<string>"
},
"productGroupId": "<string>",
"searchText": "<string>",
"updatedOn": "2023-11-07T05:31:56Z",
"uuid": "<string>"
},
"productId": "<string>",
"quantity": 123,
"updatedOn": "2023-11-07T05:31:56Z",
"uuid": "<string>"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}

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

print(response.text)
const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
changeSequence: 123,
createdOn: '2023-11-07T05:31:56Z',
id: '<string>',
organization: {
archived: true,
authGroupLink: {authGroup: '<string>'},
changeSequence: 123,
createdOn: '2023-11-07T05:31:56Z',
defaultToPrivateTemplates: true,
description: 'Document processing organization for Acme Corp.',
enterpriseOrganization: true,
features: {},
hasImage: true,
id: '550e8400-e29b-41d4-a716-446655440000',
memory: {orderedDashboards: ['<string>']},
name: 'Acme Corp',
organizationStatus: 'ACTIVE',
properties: {},
publicAccess: true,
searchText: '<string>',
slug: 'acme-corp',
stripeCustomerId: '<string>',
supportAccess: true,
supportAccessExpiresAt: '2023-11-07T05:31:56Z',
updatedOn: '2023-11-07T05:31:56Z',
uuid: '550e8400e29b41d4a716446655440000'
},
organizationId: '<string>',
product: {
changeSequence: 123,
createdOn: '2023-11-07T05:31:56Z',
description: '<string>',
id: '<string>',
imageUrl: '<string>',
name: '<string>',
overviewMarkdown: '<string>',
productGroup: {
active: true,
changeSequence: 123,
createdOn: '2023-11-07T05:31:56Z',
description: '<string>',
id: '<string>',
name: '<string>',
order: 123,
overviewMarkdown: '<string>',
products: '<array>',
searchText: '<string>',
updatedOn: '2023-11-07T05:31:56Z',
uuid: '<string>'
},
productGroupId: '<string>',
searchText: '<string>',
updatedOn: '2023-11-07T05:31:56Z',
uuid: '<string>'
},
productId: '<string>',
quantity: 123,
updatedOn: '2023-11-07T05:31:56Z',
uuid: '<string>'
})
};

fetch('https://platform.kodexa.ai/api/product-subscriptions', 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://platform.kodexa.ai/api/product-subscriptions",
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([
'changeSequence' => 123,
'createdOn' => '2023-11-07T05:31:56Z',
'id' => '<string>',
'organization' => [
'archived' => true,
'authGroupLink' => [
'authGroup' => '<string>'
],
'changeSequence' => 123,
'createdOn' => '2023-11-07T05:31:56Z',
'defaultToPrivateTemplates' => true,
'description' => 'Document processing organization for Acme Corp.',
'enterpriseOrganization' => true,
'features' => [

],
'hasImage' => true,
'id' => '550e8400-e29b-41d4-a716-446655440000',
'memory' => [
'orderedDashboards' => [
'<string>'
]
],
'name' => 'Acme Corp',
'organizationStatus' => 'ACTIVE',
'properties' => [

],
'publicAccess' => true,
'searchText' => '<string>',
'slug' => 'acme-corp',
'stripeCustomerId' => '<string>',
'supportAccess' => true,
'supportAccessExpiresAt' => '2023-11-07T05:31:56Z',
'updatedOn' => '2023-11-07T05:31:56Z',
'uuid' => '550e8400e29b41d4a716446655440000'
],
'organizationId' => '<string>',
'product' => [
'changeSequence' => 123,
'createdOn' => '2023-11-07T05:31:56Z',
'description' => '<string>',
'id' => '<string>',
'imageUrl' => '<string>',
'name' => '<string>',
'overviewMarkdown' => '<string>',
'productGroup' => [
'active' => true,
'changeSequence' => 123,
'createdOn' => '2023-11-07T05:31:56Z',
'description' => '<string>',
'id' => '<string>',
'name' => '<string>',
'order' => 123,
'overviewMarkdown' => '<string>',
'products' => '<array>',
'searchText' => '<string>',
'updatedOn' => '2023-11-07T05:31:56Z',
'uuid' => '<string>'
],
'productGroupId' => '<string>',
'searchText' => '<string>',
'updatedOn' => '2023-11-07T05:31:56Z',
'uuid' => '<string>'
],
'productId' => '<string>',
'quantity' => 123,
'updatedOn' => '2023-11-07T05:31:56Z',
'uuid' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-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://platform.kodexa.ai/api/product-subscriptions"

payload := strings.NewReader("{\n \"changeSequence\": 123,\n \"createdOn\": \"2023-11-07T05:31:56Z\",\n \"id\": \"<string>\",\n \"organization\": {\n \"archived\": true,\n \"authGroupLink\": {\n \"authGroup\": \"<string>\"\n },\n \"changeSequence\": 123,\n \"createdOn\": \"2023-11-07T05:31:56Z\",\n \"defaultToPrivateTemplates\": true,\n \"description\": \"Document processing organization for Acme Corp.\",\n \"enterpriseOrganization\": true,\n \"features\": {},\n \"hasImage\": true,\n \"id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"memory\": {\n \"orderedDashboards\": [\n \"<string>\"\n ]\n },\n \"name\": \"Acme Corp\",\n \"organizationStatus\": \"ACTIVE\",\n \"properties\": {},\n \"publicAccess\": true,\n \"searchText\": \"<string>\",\n \"slug\": \"acme-corp\",\n \"stripeCustomerId\": \"<string>\",\n \"supportAccess\": true,\n \"supportAccessExpiresAt\": \"2023-11-07T05:31:56Z\",\n \"updatedOn\": \"2023-11-07T05:31:56Z\",\n \"uuid\": \"550e8400e29b41d4a716446655440000\"\n },\n \"organizationId\": \"<string>\",\n \"product\": {\n \"changeSequence\": 123,\n \"createdOn\": \"2023-11-07T05:31:56Z\",\n \"description\": \"<string>\",\n \"id\": \"<string>\",\n \"imageUrl\": \"<string>\",\n \"name\": \"<string>\",\n \"overviewMarkdown\": \"<string>\",\n \"productGroup\": {\n \"active\": true,\n \"changeSequence\": 123,\n \"createdOn\": \"2023-11-07T05:31:56Z\",\n \"description\": \"<string>\",\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"order\": 123,\n \"overviewMarkdown\": \"<string>\",\n \"products\": \"<array>\",\n \"searchText\": \"<string>\",\n \"updatedOn\": \"2023-11-07T05:31:56Z\",\n \"uuid\": \"<string>\"\n },\n \"productGroupId\": \"<string>\",\n \"searchText\": \"<string>\",\n \"updatedOn\": \"2023-11-07T05:31:56Z\",\n \"uuid\": \"<string>\"\n },\n \"productId\": \"<string>\",\n \"quantity\": 123,\n \"updatedOn\": \"2023-11-07T05:31:56Z\",\n \"uuid\": \"<string>\"\n}")

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

req.Header.Add("x-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://platform.kodexa.ai/api/product-subscriptions")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"changeSequence\": 123,\n \"createdOn\": \"2023-11-07T05:31:56Z\",\n \"id\": \"<string>\",\n \"organization\": {\n \"archived\": true,\n \"authGroupLink\": {\n \"authGroup\": \"<string>\"\n },\n \"changeSequence\": 123,\n \"createdOn\": \"2023-11-07T05:31:56Z\",\n \"defaultToPrivateTemplates\": true,\n \"description\": \"Document processing organization for Acme Corp.\",\n \"enterpriseOrganization\": true,\n \"features\": {},\n \"hasImage\": true,\n \"id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"memory\": {\n \"orderedDashboards\": [\n \"<string>\"\n ]\n },\n \"name\": \"Acme Corp\",\n \"organizationStatus\": \"ACTIVE\",\n \"properties\": {},\n \"publicAccess\": true,\n \"searchText\": \"<string>\",\n \"slug\": \"acme-corp\",\n \"stripeCustomerId\": \"<string>\",\n \"supportAccess\": true,\n \"supportAccessExpiresAt\": \"2023-11-07T05:31:56Z\",\n \"updatedOn\": \"2023-11-07T05:31:56Z\",\n \"uuid\": \"550e8400e29b41d4a716446655440000\"\n },\n \"organizationId\": \"<string>\",\n \"product\": {\n \"changeSequence\": 123,\n \"createdOn\": \"2023-11-07T05:31:56Z\",\n \"description\": \"<string>\",\n \"id\": \"<string>\",\n \"imageUrl\": \"<string>\",\n \"name\": \"<string>\",\n \"overviewMarkdown\": \"<string>\",\n \"productGroup\": {\n \"active\": true,\n \"changeSequence\": 123,\n \"createdOn\": \"2023-11-07T05:31:56Z\",\n \"description\": \"<string>\",\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"order\": 123,\n \"overviewMarkdown\": \"<string>\",\n \"products\": \"<array>\",\n \"searchText\": \"<string>\",\n \"updatedOn\": \"2023-11-07T05:31:56Z\",\n \"uuid\": \"<string>\"\n },\n \"productGroupId\": \"<string>\",\n \"searchText\": \"<string>\",\n \"updatedOn\": \"2023-11-07T05:31:56Z\",\n \"uuid\": \"<string>\"\n },\n \"productId\": \"<string>\",\n \"quantity\": 123,\n \"updatedOn\": \"2023-11-07T05:31:56Z\",\n \"uuid\": \"<string>\"\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://platform.kodexa.ai/api/product-subscriptions")

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

request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"changeSequence\": 123,\n \"createdOn\": \"2023-11-07T05:31:56Z\",\n \"id\": \"<string>\",\n \"organization\": {\n \"archived\": true,\n \"authGroupLink\": {\n \"authGroup\": \"<string>\"\n },\n \"changeSequence\": 123,\n \"createdOn\": \"2023-11-07T05:31:56Z\",\n \"defaultToPrivateTemplates\": true,\n \"description\": \"Document processing organization for Acme Corp.\",\n \"enterpriseOrganization\": true,\n \"features\": {},\n \"hasImage\": true,\n \"id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"memory\": {\n \"orderedDashboards\": [\n \"<string>\"\n ]\n },\n \"name\": \"Acme Corp\",\n \"organizationStatus\": \"ACTIVE\",\n \"properties\": {},\n \"publicAccess\": true,\n \"searchText\": \"<string>\",\n \"slug\": \"acme-corp\",\n \"stripeCustomerId\": \"<string>\",\n \"supportAccess\": true,\n \"supportAccessExpiresAt\": \"2023-11-07T05:31:56Z\",\n \"updatedOn\": \"2023-11-07T05:31:56Z\",\n \"uuid\": \"550e8400e29b41d4a716446655440000\"\n },\n \"organizationId\": \"<string>\",\n \"product\": {\n \"changeSequence\": 123,\n \"createdOn\": \"2023-11-07T05:31:56Z\",\n \"description\": \"<string>\",\n \"id\": \"<string>\",\n \"imageUrl\": \"<string>\",\n \"name\": \"<string>\",\n \"overviewMarkdown\": \"<string>\",\n \"productGroup\": {\n \"active\": true,\n \"changeSequence\": 123,\n \"createdOn\": \"2023-11-07T05:31:56Z\",\n \"description\": \"<string>\",\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"order\": 123,\n \"overviewMarkdown\": \"<string>\",\n \"products\": \"<array>\",\n \"searchText\": \"<string>\",\n \"updatedOn\": \"2023-11-07T05:31:56Z\",\n \"uuid\": \"<string>\"\n },\n \"productGroupId\": \"<string>\",\n \"searchText\": \"<string>\",\n \"updatedOn\": \"2023-11-07T05:31:56Z\",\n \"uuid\": \"<string>\"\n },\n \"productId\": \"<string>\",\n \"quantity\": 123,\n \"updatedOn\": \"2023-11-07T05:31:56Z\",\n \"uuid\": \"<string>\"\n}"

response = http.request(request)
puts response.read_body
{
  "changeSequence": 123,
  "createdOn": "2023-11-07T05:31:56Z",
  "id": "<string>",
  "organization": {
    "archived": true,
    "authGroupLink": {
      "authGroup": "<string>"
    },
    "changeSequence": 123,
    "createdOn": "2023-11-07T05:31:56Z",
    "defaultToPrivateTemplates": true,
    "description": "Document processing organization for Acme Corp.",
    "enterpriseOrganization": true,
    "features": {},
    "hasImage": true,
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "memory": {
      "orderedDashboards": [
        "<string>"
      ]
    },
    "name": "Acme Corp",
    "organizationStatus": "ACTIVE",
    "properties": {},
    "publicAccess": true,
    "searchText": "<string>",
    "slug": "acme-corp",
    "stripeCustomerId": "<string>",
    "supportAccess": true,
    "supportAccessExpiresAt": "2023-11-07T05:31:56Z",
    "updatedOn": "2023-11-07T05:31:56Z",
    "uuid": "550e8400e29b41d4a716446655440000"
  },
  "organizationId": "<string>",
  "product": {
    "changeSequence": 123,
    "createdOn": "2023-11-07T05:31:56Z",
    "description": "<string>",
    "id": "<string>",
    "imageUrl": "<string>",
    "name": "<string>",
    "overviewMarkdown": "<string>",
    "productGroup": {
      "active": true,
      "changeSequence": 123,
      "createdOn": "2023-11-07T05:31:56Z",
      "description": "<string>",
      "id": "<string>",
      "name": "<string>",
      "order": 123,
      "overviewMarkdown": "<string>",
      "products": "<array>",
      "searchText": "<string>",
      "updatedOn": "2023-11-07T05:31:56Z",
      "uuid": "<string>"
    },
    "productGroupId": "<string>",
    "searchText": "<string>",
    "updatedOn": "2023-11-07T05:31:56Z",
    "uuid": "<string>"
  },
  "productId": "<string>",
  "quantity": 123,
  "updatedOn": "2023-11-07T05:31:56Z",
  "uuid": "<string>"
}

Authorizations

x-api-key
string
header
required

API key for authentication. Create one from the Kodexa platform UI under Settings > Access Tokens.

Body

application/json

A product subscription links an organization to a purchased product.

changeSequence
integer<int32>
createdOn
string<date-time>
id
string
organization
object | null

An organization is the top-level tenant in Kodexa. All projects, stores, and resources belong to an organization.

organizationId
string | null
product
object | null

A product represents a purchasable offering on the Kodexa platform.

productId
string | null
quantity
integer<int64>
updatedOn
string<date-time>
uuid
string

Response

Created ProductSubscription

A product subscription links an organization to a purchased product.

changeSequence
integer<int32>
createdOn
string<date-time>
id
string
organization
object | null

An organization is the top-level tenant in Kodexa. All projects, stores, and resources belong to an organization.

organizationId
string | null
product
object | null

A product represents a purchasable offering on the Kodexa platform.

productId
string | null
quantity
integer<int64>
updatedOn
string<date-time>
uuid
string