{
  "info": {
    "_postman_id": "c8d5e3b2-9f40-4a82-ad17-3e6c7b1f8d59",
    "name": "M360 APIs - RevOS External",
    "description": "Complete RevOS `/api/v1/external` catalog collection matching the API reference. Auth is `Authorization: Bearer {{access-token}}`; the caller needs the tenant `ADMIN` role.\n\nSet `base-url` to your tenant host (no trailing slash). List/GET responses use `ApiResponse` and PascalCase `__r` rows except nested rate cards and pricing logic.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "item": [
    {
      "name": "Accounts",
      "item": [
        {
          "name": "List accounts",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/accounts?page=0&size=20&q=",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "accounts"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "0"
                },
                {
                  "key": "size",
                  "value": "20"
                },
                {
                  "key": "q",
                  "value": ""
                }
              ]
            },
            "description": "GET `/accounts`. Search `q` matches name, number, externalId."
          },
          "response": []
        },
        {
          "name": "Get account",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/accounts/{{accountId}}?isExternal=false",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "accounts",
                "{{accountId}}"
              ],
              "query": [
                {
                  "key": "isExternal",
                  "value": "false"
                }
              ]
            },
            "description": "`isExternal=false` uses the M360 UUID. `true` treats the path as `externalId`."
          },
          "response": []
        },
        {
          "name": "Get account by external id",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/accounts/by-external-id/{{externalId}}",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "accounts",
                "by-external-id",
                "{{externalId}}"
              ]
            },
            "description": ""
          },
          "response": []
        },
        {
          "name": "Create account",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/accounts",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "accounts"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n    \"name\": \"Acme Corp\",\n    \"number\": \"ACC-1001\",\n    \"externalId\": \"CRM-55\",\n    \"billingDay\": 1,\n    \"isMaster\": true,\n    \"netTerm\": \"Net 30\",\n    \"defaultCurrency\": \"USD\",\n    \"addresses\": [\n        {\n            \"line1\": \"1 Market Street\",\n            \"line2\": \"Suite 400\",\n            \"city\": \"San Francisco\",\n            \"state\": \"CA\",\n            \"zipCode\": \"94105\",\n            \"country\": \"United States\",\n            \"taxId\": \"US-12-3456789\"\n        }\n    ],\n    \"contactInfoList\": [\n        {\n            \"emailTo\": \"billing@example.com\",\n            \"firstName\": \"Preetam\",\n            \"lastName\": \"Ghosh\"\n        }\n    ],\n    \"accountPaymentProfileList\": [\n        {\n            \"paymentProviderType\": \"Payin\",\n            \"paymentMethodType\": \"Invoice\"\n        }\n    ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Update account",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/accounts/{{accountId}}",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "accounts",
                "{{accountId}}"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n    \"name\": \"Acme Corporation\",\n    \"netTerm\": \"Net 45\",\n    \"billingDay\": 15\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Activate account",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/accounts/{{accountId}}/activate",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "accounts",
                "{{accountId}}",
                "activate"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Deactivate account",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/accounts/{{accountId}}/deactivate",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "accounts",
                "{{accountId}}",
                "deactivate"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Update tax labels",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/accounts/{{accountId}}/tax-labels",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "accounts",
                "{{accountId}}",
                "tax-labels"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n    \"gst\": \"GSTIN0005\",\n    \"pan\": \"PAN0005\",\n    \"cin\": \"CIN0005\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Delete account",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/accounts/{{accountId}}",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "accounts",
                "{{accountId}}"
              ]
            },
            "description": ""
          },
          "response": []
        },
        {
          "name": "List addresses",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/accounts/{{accountId}}/addresses?page=0&size=20",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "accounts",
                "{{accountId}}",
                "addresses"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "0"
                },
                {
                  "key": "size",
                  "value": "20"
                }
              ]
            },
            "description": ""
          },
          "response": []
        },
        {
          "name": "Get address",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/accounts/{{accountId}}/addresses/{{addressId}}",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "accounts",
                "{{accountId}}",
                "addresses",
                "{{addressId}}"
              ]
            },
            "description": ""
          },
          "response": []
        },
        {
          "name": "Create address",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/accounts/{{accountId}}/addresses",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "accounts",
                "{{accountId}}",
                "addresses"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n    \"line1\": \"500 Boylston Street\",\n    \"line2\": \"Floor 12\",\n    \"city\": \"Boston\",\n    \"state\": \"MA\",\n    \"zipCode\": \"02116\",\n    \"country\": \"US\",\n    \"taxId\": \"US-98-7654321\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Update address",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/accounts/{{accountId}}/addresses/{{addressId}}",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "accounts",
                "{{accountId}}",
                "addresses",
                "{{addressId}}"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n    \"line1\": \"500 Boylston Street\",\n    \"line2\": \"Floor 14\",\n    \"city\": \"Boston\",\n    \"state\": \"MA\",\n    \"zipCode\": \"02116\",\n    \"country\": \"United States\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Delete address",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/accounts/{{accountId}}/addresses/{{addressId}}",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "accounts",
                "{{accountId}}",
                "addresses",
                "{{addressId}}"
              ]
            },
            "description": ""
          },
          "response": []
        }
      ]
    },
    {
      "name": "Services",
      "item": [
        {
          "name": "List services",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/services?page=0&size=20&q=",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "services"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "0"
                },
                {
                  "key": "size",
                  "value": "20"
                },
                {
                  "key": "q",
                  "value": ""
                }
              ]
            },
            "description": "Search `q` matches name, code, label."
          },
          "response": []
        },
        {
          "name": "Get service",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/services/{{serviceId}}",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "services",
                "{{serviceId}}"
              ]
            },
            "description": ""
          },
          "response": []
        },
        {
          "name": "Create service",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/services",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "services"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n    \"name\": \"gpt-4o\",\n    \"label\": \"GPT-4o\",\n    \"code\": \"MODEL-GPT-4O\",\n    \"currency\": \"USD\",\n    \"serviceType\": \"Usage\",\n    \"priceableAttributes\": [\n        {\n            \"name\": \"Input_Tokens\",\n            \"label\": \"Input Tokens\",\n            \"dimensionDataType\": \"Number\"\n        },\n        {\n            \"name\": \"Output_Tokens\",\n            \"label\": \"Output Tokens\",\n            \"dimensionDataType\": \"Number\"\n        }\n    ],\n    \"inputAttributes\": [\n        {\n            \"name\": \"Prompt_Tokens\",\n            \"label\": \"Prompt Tokens\",\n            \"dimensionDataType\": \"Number\"\n        },\n        {\n            \"name\": \"Completion_Tokens\",\n            \"label\": \"Completion Tokens\",\n            \"dimensionDataType\": \"Number\"\n        }\n    ],\n    \"rateCards\": [\n        {\n            \"currency\": \"USD\",\n            \"rows\": [\n                {\n                    \"priceMethod\": \"QUANTITY\",\n                    \"priceDimName\": \"Input_Tokens\",\n                    \"label\": \"Input token unit rate\",\n                    \"unitRate\": 0.0025,\n                    \"usageType\": \"Charge\",\n                    \"attributeValues\": []\n                },\n                {\n                    \"priceMethod\": \"QUANTITY\",\n                    \"priceDimName\": \"Output_Tokens\",\n                    \"label\": \"Output token unit rate\",\n                    \"unitRate\": 0.01,\n                    \"usageType\": \"Charge\",\n                    \"attributeValues\": []\n                }\n            ]\n        }\n    ],\n    \"pricingLogic\": [\n        {\n            \"name\": \"Input token pricing\",\n            \"priceOutput\": \"Price_for_Input_Tokens\",\n            \"transactionDimension\": \"Customer\",\n            \"usageType\": \"Charge\",\n            \"chargeType\": \"Usage\",\n            \"steps\": [\n                {\n                    \"name\": \"Input_Tokens_Converted\",\n                    \"label\": \"Input Tokens Converted\",\n                    \"formula\": \"Prompt_Tokens / 1000\"\n                },\n                {\n                    \"name\": \"Input_Tokens_Qty\",\n                    \"label\": \"Input Tokens Qty\",\n                    \"formula\": \"Ceil(Input_Tokens_Converted)\"\n                },\n                {\n                    \"name\": \"Price_for_Input_Tokens\",\n                    \"label\": \"Price for Input Tokens\",\n                    \"formula\": \"Price(Input_Tokens, Input_Tokens_Qty)\"\n                }\n            ]\n        }\n    ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Update service",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/services/{{serviceId}}",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "services",
                "{{serviceId}}"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n    \"label\": \"GPT-4o (Nov 2026)\",\n    \"description\": \"OpenAI GPT-4o, November 2026 snapshot\",\n    \"serviceStatus\": \"Active\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Delete service",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/services/{{serviceId}}",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "services",
                "{{serviceId}}"
              ]
            },
            "description": ""
          },
          "response": []
        },
        {
          "name": "List priceable attributes",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/services/{{serviceId}}/priceable-attributes?page=0&size=20",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "services",
                "{{serviceId}}",
                "priceable-attributes"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "0"
                },
                {
                  "key": "size",
                  "value": "20"
                }
              ]
            },
            "description": ""
          },
          "response": []
        },
        {
          "name": "Get priceable attribute",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/services/{{serviceId}}/priceable-attributes/{{attributeId}}",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "services",
                "{{serviceId}}",
                "priceable-attributes",
                "{{attributeId}}"
              ]
            },
            "description": ""
          },
          "response": []
        },
        {
          "name": "Create priceable attribute",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/services/{{serviceId}}/priceable-attributes",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "services",
                "{{serviceId}}",
                "priceable-attributes"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n    \"name\": \"Output_Tokens\",\n    \"label\": \"Output Tokens\",\n    \"dimensionDataType\": \"Number\",\n    \"isContractInput\": false,\n    \"isMeterDimension\": false,\n    \"dimValues\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Create metered priceable attribute",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/services/{{serviceId}}/priceable-attributes",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "services",
                "{{serviceId}}",
                "priceable-attributes"
              ]
            },
            "description": "Metered counter for period allowances (first N free per month).",
            "body": {
              "mode": "raw",
              "raw": "{\n    \"name\": \"API_Calls\",\n    \"label\": \"API Calls\",\n    \"dimensionDataType\": \"Number\",\n    \"isMeterDimension\": true,\n    \"meterResetFrequency\": \"Monthly\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Update priceable attribute",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/services/{{serviceId}}/priceable-attributes/{{attributeId}}",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "services",
                "{{serviceId}}",
                "priceable-attributes",
                "{{attributeId}}"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n    \"name\": \"Output_Tokens\",\n    \"label\": \"Completion Tokens\",\n    \"dimensionDataType\": \"Number\",\n    \"dimValues\": [\n        {\n            \"label\": \"US\",\n            \"value\": \"US\"\n        }\n    ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Delete priceable attribute",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/services/{{serviceId}}/priceable-attributes/{{attributeId}}",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "services",
                "{{serviceId}}",
                "priceable-attributes",
                "{{attributeId}}"
              ]
            },
            "description": ""
          },
          "response": []
        },
        {
          "name": "List rate cards",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/services/{{serviceId}}/rate-cards?page=0&size=20",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "services",
                "{{serviceId}}",
                "rate-cards"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "0"
                },
                {
                  "key": "size",
                  "value": "20"
                }
              ]
            },
            "description": ""
          },
          "response": []
        },
        {
          "name": "Get rate card by currency",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/services/{{serviceId}}/rate-cards/{{currency}}",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "services",
                "{{serviceId}}",
                "rate-cards",
                "{{currency}}"
              ]
            },
            "description": ""
          },
          "response": []
        },
        {
          "name": "List rate-card versions",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/services/{{serviceId}}/rate-cards/{{currency}}/versions?page=0&size=20",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "services",
                "{{serviceId}}",
                "rate-cards",
                "{{currency}}",
                "versions"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "0"
                },
                {
                  "key": "size",
                  "value": "20"
                }
              ]
            },
            "description": ""
          },
          "response": []
        },
        {
          "name": "Create rate card",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/services/{{serviceId}}/rate-cards",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "services",
                "{{serviceId}}",
                "rate-cards"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n    \"currency\": \"EUR\",\n    \"rows\": [\n        {\n            \"priceMethod\": \"QUANTITY\",\n            \"priceDimName\": \"Input_Tokens\",\n            \"label\": \"Per 1K input tokens\",\n            \"usageType\": \"Charge\",\n            \"unitRate\": 0.0023,\n            \"attributeValues\": []\n        }\n    ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Update rate card",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/services/{{serviceId}}/rate-cards/{{currency}}",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "services",
                "{{serviceId}}",
                "rate-cards",
                "{{currency}}"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n    \"currency\": \"USD\",\n    \"rows\": [\n        {\n            \"priceMethod\": \"QUANTITY\",\n            \"priceDimName\": \"Input_Tokens\",\n            \"label\": \"Input token unit rate\",\n            \"unitRate\": 0.003,\n            \"attributeValues\": []\n        },\n        {\n            \"priceMethod\": \"QUANTITY\",\n            \"priceDimName\": \"Output_Tokens\",\n            \"label\": \"Output token unit rate\",\n            \"unitRate\": 0.012,\n            \"attributeValues\": []\n        }\n    ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Delete rate card",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/services/{{serviceId}}/rate-cards/{{currency}}",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "services",
                "{{serviceId}}",
                "rate-cards",
                "{{currency}}"
              ]
            },
            "description": ""
          },
          "response": []
        },
        {
          "name": "List pricing logic",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/services/{{serviceId}}/pricing-logic?page=0&size=20",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "services",
                "{{serviceId}}",
                "pricing-logic"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "0"
                },
                {
                  "key": "size",
                  "value": "20"
                }
              ]
            },
            "description": ""
          },
          "response": []
        },
        {
          "name": "Get pricing logic",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/services/{{serviceId}}/pricing-logic/{{pricingLogicId}}",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "services",
                "{{serviceId}}",
                "pricing-logic",
                "{{pricingLogicId}}"
              ]
            },
            "description": ""
          },
          "response": []
        },
        {
          "name": "Create pricing logic",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/services/{{serviceId}}/pricing-logic",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "services",
                "{{serviceId}}",
                "pricing-logic"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n    \"name\": \"Output token pricing\",\n    \"priceOutput\": \"Price_for_Output_Tokens\",\n    \"transactionDimension\": \"Customer\",\n    \"usageType\": \"Charge\",\n    \"chargeType\": \"Usage\",\n    \"steps\": [\n        {\n            \"name\": \"Output_Tokens_Converted\",\n            \"label\": \"Output Tokens Converted\",\n            \"formula\": \"Completion_Tokens / 1000\"\n        },\n        {\n            \"name\": \"Output_Tokens_Qty\",\n            \"label\": \"Output Tokens Qty\",\n            \"formula\": \"Ceil(Output_Tokens_Converted)\"\n        },\n        {\n            \"name\": \"Price_for_Output_Tokens\",\n            \"label\": \"Price for Output Tokens\",\n            \"formula\": \"Price(Output_Tokens, Output_Tokens_Qty)\"\n        }\n    ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Update pricing logic",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/services/{{serviceId}}/pricing-logic/{{pricingLogicId}}",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "services",
                "{{serviceId}}",
                "pricing-logic",
                "{{pricingLogicId}}"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n    \"name\": \"Output token pricing\",\n    \"priceOutput\": \"Price_for_Output_Tokens\",\n    \"transactionDimension\": \"Customer\",\n    \"usageType\": \"Charge\",\n    \"chargeType\": \"Usage\",\n    \"steps\": [\n        {\n            \"name\": \"Output_Tokens_Qty\",\n            \"label\": \"Output Tokens Qty\",\n            \"formula\": \"Ceil(Completion_Tokens / 1000)\"\n        },\n        {\n            \"name\": \"Price_for_Output_Tokens\",\n            \"label\": \"Price for Output Tokens\",\n            \"formula\": \"Price(Output_Tokens, Output_Tokens_Qty)\"\n        }\n    ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Delete pricing logic",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/services/{{serviceId}}/pricing-logic/{{pricingLogicId}}",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "services",
                "{{serviceId}}",
                "pricing-logic",
                "{{pricingLogicId}}"
              ]
            },
            "description": ""
          },
          "response": []
        }
      ]
    },
    {
      "name": "Contracts",
      "item": [
        {
          "name": "List contracts",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/contracts?page=0&size=20&q=",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "contracts"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "0"
                },
                {
                  "key": "size",
                  "value": "20"
                },
                {
                  "key": "q",
                  "value": ""
                }
              ]
            },
            "description": "Search `q` matches name, number."
          },
          "response": []
        },
        {
          "name": "Get contract",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/contracts/{{contractId}}",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "contracts",
                "{{contractId}}"
              ]
            },
            "description": ""
          },
          "response": []
        },
        {
          "name": "Create contract",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/contracts",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "contracts"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n    \"name\": \"Acme MSA\",\n    \"number\": \"C-1001\",\n    \"startDate\": \"2026-01-01\",\n    \"endDate\": \"2026-12-31\",\n    \"currency\": \"USD\",\n    \"masterAccountId\": \"{{accountId}}\",\n    \"poNumber\": \"PO-88213\",\n    \"totalPrice\": 120000,\n    \"services\": [\n        {\n            \"serviceId\": \"{{serviceId}}\",\n            \"serviceInstanceId\": \"{{serviceInstanceId}}\",\n            \"startDate\": \"2026-01-01\",\n            \"endDate\": \"2026-12-31\"\n        }\n    ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Update contract",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/contracts/{{contractId}}",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "contracts",
                "{{contractId}}"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n    \"name\": \"Acme MSA (2026 renewal)\",\n    \"endDate\": \"2027-12-31\",\n    \"totalPrice\": 145000\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Delete contract",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/contracts/{{contractId}}",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "contracts",
                "{{contractId}}"
              ]
            },
            "description": ""
          },
          "response": []
        },
        {
          "name": "Get contract service by id",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/contract-services/{{contractServiceId}}",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "contract-services",
                "{{contractServiceId}}"
              ]
            },
            "description": ""
          },
          "response": []
        },
        {
          "name": "List contract services",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/contracts/{{contractId}}/services?page=0&size=20",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "contracts",
                "{{contractId}}",
                "services"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "0"
                },
                {
                  "key": "size",
                  "value": "20"
                }
              ]
            },
            "description": ""
          },
          "response": []
        },
        {
          "name": "Get nested contract service",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/contracts/{{contractId}}/services/{{contractServiceId}}",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "contracts",
                "{{contractId}}",
                "services",
                "{{contractServiceId}}"
              ]
            },
            "description": ""
          },
          "response": []
        },
        {
          "name": "Add service to contract",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/contracts/{{contractId}}/services",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "contracts",
                "{{contractId}}",
                "services"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n    \"serviceId\": \"{{serviceId}}\",\n    \"serviceInstanceId\": \"{{serviceInstanceId}}\",\n    \"startDate\": \"2026-01-01\",\n    \"endDate\": \"2026-12-31\",\n    \"chargeFrequency\": \"Monthly\",\n    \"billingFrequency\": \"Monthly\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Update nested contract service",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/contracts/{{contractId}}/services/{{contractServiceId}}",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "contracts",
                "{{contractId}}",
                "services",
                "{{contractServiceId}}"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n    \"endDate\": \"2027-06-30\",\n    \"billingFrequency\": \"Quarterly\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Update contract service by id",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/contract-services/{{contractServiceId}}",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "contract-services",
                "{{contractServiceId}}"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n    \"endDate\": \"2027-06-30\",\n    \"billingFrequency\": \"Quarterly\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "End contract service by id",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/contract-services/{{contractServiceId}}/end",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "contract-services",
                "{{contractServiceId}}",
                "end"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n    \"terminationDate\": \"2026-09-01\",\n    \"terminationMessage\": \"Offboarded\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "End nested contract service",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/contracts/{{contractId}}/services/{{contractServiceId}}/end",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "contracts",
                "{{contractId}}",
                "services",
                "{{contractServiceId}}",
                "end"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n    \"terminationDate\": \"2026-09-01\",\n    \"terminationMessage\": \"Offboarded\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "End service by instance id",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/contracts/services/by-instance/{{serviceInstanceId}}/end",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "contracts",
                "services",
                "by-instance",
                "{{serviceInstanceId}}",
                "end"
              ]
            },
            "description": "Returns 409 if the instance id is not unique.",
            "body": {
              "mode": "raw",
              "raw": "{\n    \"terminationDate\": \"2026-09-01\",\n    \"terminationMessage\": \"Offboarded\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Delete contract service",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/contracts/{{contractId}}/services/{{contractServiceId}}",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "contracts",
                "{{contractId}}",
                "services",
                "{{contractServiceId}}"
              ]
            },
            "description": ""
          },
          "response": []
        },
        {
          "name": "List contract-service priceable attributes",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/contracts/{{contractId}}/services/{{contractServiceId}}/priceable-attributes?page=0&size=20",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "contracts",
                "{{contractId}}",
                "services",
                "{{contractServiceId}}",
                "priceable-attributes"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "0"
                },
                {
                  "key": "size",
                  "value": "20"
                }
              ]
            },
            "description": ""
          },
          "response": []
        },
        {
          "name": "Get contract-service priceable attribute",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/contracts/{{contractId}}/services/{{contractServiceId}}/priceable-attributes/{attributeId}",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "contracts",
                "{{contractId}}",
                "services",
                "{{contractServiceId}}",
                "priceable-attributes",
                "{attributeId}"
              ]
            },
            "description": ""
          },
          "response": []
        },
        {
          "name": "Create contract-service priceable attribute",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/contracts/{{contractId}}/services/{{contractServiceId}}/priceable-attributes",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "contracts",
                "{{contractId}}",
                "services",
                "{{contractServiceId}}",
                "priceable-attributes"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n    \"name\": \"Committed_Tokens\",\n    \"label\": \"Committed Tokens\",\n    \"dimensionDataType\": \"Number\",\n    \"isContractInput\": true,\n    \"dimensionValText\": \"5000000\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Update contract-service priceable attribute",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/contracts/{{contractId}}/services/{{contractServiceId}}/priceable-attributes/{attributeId}",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "contracts",
                "{{contractId}}",
                "services",
                "{{contractServiceId}}",
                "priceable-attributes",
                "{attributeId}"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n    \"name\": \"Committed_Tokens\",\n    \"label\": \"Committed Tokens (revised)\",\n    \"dimensionDataType\": \"Number\",\n    \"dimensionValText\": \"7500000\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Delete contract-service priceable attribute",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/contracts/{{contractId}}/services/{{contractServiceId}}/priceable-attributes/{attributeId}",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "contracts",
                "{{contractId}}",
                "services",
                "{{contractServiceId}}",
                "priceable-attributes",
                "{attributeId}"
              ]
            },
            "description": ""
          },
          "response": []
        },
        {
          "name": "List exception rate cards",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/contracts/{{contractId}}/services/{{contractServiceId}}/rate-cards?page=0&size=20",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "contracts",
                "{{contractId}}",
                "services",
                "{{contractServiceId}}",
                "rate-cards"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "0"
                },
                {
                  "key": "size",
                  "value": "20"
                }
              ]
            },
            "description": ""
          },
          "response": []
        },
        {
          "name": "Get exception rate card by currency",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/contracts/{{contractId}}/services/{{contractServiceId}}/rate-cards/{currency}",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "contracts",
                "{{contractId}}",
                "services",
                "{{contractServiceId}}",
                "rate-cards",
                "{currency}"
              ]
            },
            "description": ""
          },
          "response": []
        },
        {
          "name": "List exception rate-card versions",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/contracts/{{contractId}}/services/{{contractServiceId}}/rate-cards/{currency}/versions?page=0&size=20",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "contracts",
                "{{contractId}}",
                "services",
                "{{contractServiceId}}",
                "rate-cards",
                "{currency}",
                "versions"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "0"
                },
                {
                  "key": "size",
                  "value": "20"
                }
              ]
            },
            "description": ""
          },
          "response": []
        },
        {
          "name": "Set exception pricing",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/contracts/{{contractId}}/services/{{contractServiceId}}/rate-cards",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "contracts",
                "{{contractId}}",
                "services",
                "{{contractServiceId}}",
                "rate-cards"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n    \"currency\": \"USD\",\n    \"rows\": [\n        {\n            \"priceMethod\": \"QUANTITY\",\n            \"priceDimName\": \"Input_Tokens\",\n            \"label\": \"Negotiated input token rate\",\n            \"unitRate\": 0.0018,\n            \"attributeValues\": []\n        }\n    ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Update exception pricing",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/contracts/{{contractId}}/services/{{contractServiceId}}/rate-cards/{currency}",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "contracts",
                "{{contractId}}",
                "services",
                "{{contractServiceId}}",
                "rate-cards",
                "{currency}"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n    \"currency\": \"USD\",\n    \"rows\": [\n        {\n            \"priceMethod\": \"FLAT_RATE\",\n            \"priceDimName\": \"Usage\",\n            \"label\": \"Contract override\",\n            \"flatRate\": 70.0,\n            \"attributeValues\": []\n        }\n    ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Remove exception pricing",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/contracts/{{contractId}}/services/{{contractServiceId}}/rate-cards/{currency}",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "contracts",
                "{{contractId}}",
                "services",
                "{{contractServiceId}}",
                "rate-cards",
                "{currency}"
              ]
            },
            "description": ""
          },
          "response": []
        }
      ]
    },
    {
      "name": "Payments",
      "item": [
        {
          "name": "List payments",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/payments?page=0&size=20&q=",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "payments"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "0"
                },
                {
                  "key": "size",
                  "value": "20"
                },
                {
                  "key": "q",
                  "value": ""
                }
              ]
            },
            "description": "Search `q` matches paymentReference, comments, participantName."
          },
          "response": []
        },
        {
          "name": "Get payment",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/payments/{{paymentId}}",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "payments",
                "{{paymentId}}"
              ]
            },
            "description": ""
          },
          "response": []
        },
        {
          "name": "Create payment",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/payments",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "payments"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n    \"accountId\": \"{{accountId}}\",\n    \"currency\": \"USD\",\n    \"amount\": 250.0,\n    \"paymentReference\": \"PAY-2026-0001\",\n    \"paymentMethod\": \"Wire Transfer\",\n    \"paymentType\": \"Pay In\",\n    \"paymentDate\": \"2026-08-29\",\n    \"isManualPayment\": true,\n    \"comments\": \"Wire received\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Update payment",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/payments/{{paymentId}}",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "payments",
                "{{paymentId}}"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n    \"amount\": 275.0,\n    \"comments\": \"Adjusted for FX difference\",\n    \"paymentStatus\": \"Completed\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Delete payment",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/payments/{{paymentId}}",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "payments",
                "{{paymentId}}"
              ]
            },
            "description": ""
          },
          "response": []
        }
      ]
    },
    {
      "name": "Wallets",
      "item": [
        {
          "name": "List wallets",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/wallets?page=0&size=20&q=",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "wallets"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "0"
                },
                {
                  "key": "size",
                  "value": "20"
                },
                {
                  "key": "q",
                  "value": ""
                }
              ]
            },
            "description": "Search `q` matches title and customerId."
          },
          "response": []
        },
        {
          "name": "Get wallet",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/wallets/{{walletId}}",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "wallets",
                "{{walletId}}"
              ]
            },
            "description": ""
          },
          "response": []
        },
        {
          "name": "Create wallet",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/wallets",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "wallets"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n    \"title\": \"Acme prepaid wallet\",\n    \"accountId\": \"{{accountId}}\",\n    \"customerId\": \"cus_NffrFeUfNV2Hib\",\n    \"currency\": \"USD\",\n    \"unit\": \"USD\",\n    \"isActive\": true,\n    \"balance\": 0,\n    \"availableBalance\": 0\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Update wallet",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/wallets/{{walletId}}",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "wallets",
                "{{walletId}}"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n    \"title\": \"Acme prepaid wallet\",\n    \"enableDisableTopUp\": true,\n    \"thresholdTopUpAmount\": 100.0,\n    \"autoTopUpAmount\": 500.0\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Delete wallet",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/wallets/{{walletId}}",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "wallets",
                "{{walletId}}"
              ]
            },
            "description": ""
          },
          "response": []
        }
      ]
    },
    {
      "name": "Invoices",
      "item": [
        {
          "name": "List invoices",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/invoices?page=0&size=20&q=&accountId={{accountId}}&fromDate=2026-08-01&toDate=2026-08-31",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "invoices"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "0"
                },
                {
                  "key": "size",
                  "value": "20"
                },
                {
                  "key": "q",
                  "value": ""
                },
                {
                  "key": "accountId",
                  "value": "{{accountId}}"
                },
                {
                  "key": "fromDate",
                  "value": "2026-08-01"
                },
                {
                  "key": "toDate",
                  "value": "2026-08-31"
                }
              ]
            },
            "description": "Optional filters: q (invoiceNo), accountId, fromDate, toDate."
          },
          "response": []
        },
        {
          "name": "Get invoice",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/invoices/{{invoiceId}}",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "invoices",
                "{{invoiceId}}"
              ]
            },
            "description": ""
          },
          "response": []
        },
        {
          "name": "Download invoice PDF",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/invoices/{{invoiceId}}/pdf",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "invoices",
                "{{invoiceId}}",
                "pdf"
              ]
            },
            "description": "Binary PDF. 404 if a PDF has not been generated."
          },
          "response": []
        }
      ]
    },
    {
      "name": "Rated transactions",
      "item": [
        {
          "name": "List rated transactions",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/rated-transactions?page=0&size=20&q=&accountId={{accountId}}&fromDate=2026-08-01&toDate=2026-08-31",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "rated-transactions"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "0"
                },
                {
                  "key": "size",
                  "value": "20"
                },
                {
                  "key": "q",
                  "value": ""
                },
                {
                  "key": "accountId",
                  "value": "{{accountId}}"
                },
                {
                  "key": "fromDate",
                  "value": "2026-08-01"
                },
                {
                  "key": "toDate",
                  "value": "2026-08-31"
                }
              ]
            },
            "description": "Optional filters: q (externalTranId), accountId, fromDate, toDate."
          },
          "response": []
        },
        {
          "name": "Get rated transaction",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/rated-transactions/{{transactionId}}",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "rated-transactions",
                "{{transactionId}}"
              ]
            },
            "description": ""
          },
          "response": []
        }
      ]
    },
    {
      "name": "Realtime rating",
      "item": [
        {
          "name": "Submit usage event",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"key\": \"usage-event-001\",\n  \"message\": {\n    \"externalTransactionId\": \"usage-event-001\",\n    \"serviceId\": \"{{serviceId}}\",\n    \"eventTimestamp\": \"2026-09-10T12:30:00Z\",\n    \"billingAccountRef\": \"{{externalId}}\",\n    \"dimensions\": {\n      \"Input_Tokens\": \"1000\",\n      \"Output_Tokens\": \"250\",\n      \"Model\": \"gpt-4o\"\n    },\n    \"quantity\": 1250,\n    \"serviceInstanceId\": \"service-instance-001\",\n    \"priceUnitLabel\": \"tokens\"\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{ai-gateway-base-url}}/v1/ingest/usage",
              "host": [
                "{{ai-gateway-base-url}}"
              ],
              "path": [
                "v1",
                "ingest",
                "usage"
              ]
            },
            "description": "Publishes a usage event for asynchronous rating. Organization context comes from morgId in the token. HTTP 200 confirms Kafka acceptance, not rating completion."
          },
          "response": []
        }
      ]
    },
    {
      "name": "Reference data",
      "item": [
        {
          "name": "List countries",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/countries?page=0&size=100&q=",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "countries"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "0"
                },
                {
                  "key": "size",
                  "value": "100"
                },
                {
                  "key": "q",
                  "value": ""
                }
              ]
            },
            "description": ""
          },
          "response": []
        },
        {
          "name": "List currencies",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access-token}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base-url}}/api/v1/external/currencies?page=0&size=100&q=",
              "host": [
                "{{base-url}}"
              ],
              "path": [
                "api",
                "v1",
                "external",
                "currencies"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "0"
                },
                {
                  "key": "size",
                  "value": "100"
                },
                {
                  "key": "q",
                  "value": ""
                }
              ]
            },
            "description": ""
          },
          "response": []
        }
      ]
    }
  ],
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{access-token}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "base-url",
      "value": "https://YOUR_TENANT_HOST"
    },
    {
      "key": "ai-gateway-base-url",
      "value": "https://YOUR_AI_GATEWAY_HOST"
    },
    {
      "key": "access-token",
      "value": ""
    },
    {
      "key": "accountId",
      "value": ""
    },
    {
      "key": "externalId",
      "value": ""
    },
    {
      "key": "addressId",
      "value": ""
    },
    {
      "key": "serviceId",
      "value": ""
    },
    {
      "key": "attributeId",
      "value": ""
    },
    {
      "key": "pricingLogicId",
      "value": ""
    },
    {
      "key": "currency",
      "value": "USD"
    },
    {
      "key": "contractId",
      "value": ""
    },
    {
      "key": "contractServiceId",
      "value": ""
    },
    {
      "key": "serviceInstanceId",
      "value": ""
    },
    {
      "key": "paymentId",
      "value": ""
    },
    {
      "key": "walletId",
      "value": ""
    },
    {
      "key": "invoiceId",
      "value": ""
    },
    {
      "key": "transactionId",
      "value": ""
    }
  ]
}
