@nirvana-labs/nirvana-mcp 1.90.1 → 1.91.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -409,11 +409,11 @@ const EMBEDDED_METHODS: MethodEntry[] = [
409
409
  description: 'Create a new organization',
410
410
  stainlessPath: '(resource) organizations > (method) create',
411
411
  qualified: 'client.organizations.create',
412
- params: ['name: string;'],
412
+ params: ['name: string;', 'billing_email?: string;'],
413
413
  response:
414
- "{ id: string; created_at: string; domains: { id: string; domain: string; verified: boolean; }[]; metronome_customer_id: string; name: string; personal: boolean; services: { cloud: boolean; jit_provisioning: boolean; scim: boolean; siem: boolean; sso: boolean; }; stripe_customer_id: string; type: 'personal' | 'company'; updated_at: string; auth_id?: string; }",
414
+ "{ id: string; billing_email: string; created_at: string; domains: { id: string; domain: string; verified: boolean; }[]; metronome_customer_id: string; name: string; personal: boolean; services: { cloud: boolean; jit_provisioning: boolean; scim: boolean; siem: boolean; sso: boolean; }; stripe_customer_id: string; type: 'personal' | 'company'; updated_at: string; auth_id?: string; }",
415
415
  markdown:
416
- "## create\n\n`client.organizations.create(name: string): { id: string; created_at: string; domains: organization_domain[]; metronome_customer_id: string; name: string; personal: boolean; services: organization_services; stripe_customer_id: string; type: organization_type; updated_at: string; auth_id?: string; }`\n\n**post** `/v1/organizations`\n\nCreate a new organization\n\n### Parameters\n\n- `name: string`\n Organization name.\n\n### Returns\n\n- `{ id: string; created_at: string; domains: { id: string; domain: string; verified: boolean; }[]; metronome_customer_id: string; name: string; personal: boolean; services: { cloud: boolean; jit_provisioning: boolean; scim: boolean; siem: boolean; sso: boolean; }; stripe_customer_id: string; type: 'personal' | 'company'; updated_at: string; auth_id?: string; }`\n Organization response.\n\n - `id: string`\n - `created_at: string`\n - `domains: { id: string; domain: string; verified: boolean; }[]`\n - `metronome_customer_id: string`\n - `name: string`\n - `personal: boolean`\n - `services: { cloud: boolean; jit_provisioning: boolean; scim: boolean; siem: boolean; sso: boolean; }`\n - `stripe_customer_id: string`\n - `type: 'personal' | 'company'`\n - `updated_at: string`\n - `auth_id?: string`\n\n### Example\n\n```typescript\nimport NirvanaLabs from '@nirvana-labs/nirvana';\n\nconst client = new NirvanaLabs();\n\nconst organization = await client.organizations.create({ name: 'My Organization' });\n\nconsole.log(organization);\n```",
416
+ "## create\n\n`client.organizations.create(name: string, billing_email?: string): { id: string; billing_email: string; created_at: string; domains: organization_domain[]; metronome_customer_id: string; name: string; personal: boolean; services: organization_services; stripe_customer_id: string; type: organization_type; updated_at: string; auth_id?: string; }`\n\n**post** `/v1/organizations`\n\nCreate a new organization\n\n### Parameters\n\n- `name: string`\n Organization name.\n\n- `billing_email?: string`\n Optional billing email. When omitted, the oldest owner's email is used.\n\n### Returns\n\n- `{ id: string; billing_email: string; created_at: string; domains: { id: string; domain: string; verified: boolean; }[]; metronome_customer_id: string; name: string; personal: boolean; services: { cloud: boolean; jit_provisioning: boolean; scim: boolean; siem: boolean; sso: boolean; }; stripe_customer_id: string; type: 'personal' | 'company'; updated_at: string; auth_id?: string; }`\n Organization response.\n\n - `id: string`\n - `billing_email: string`\n - `created_at: string`\n - `domains: { id: string; domain: string; verified: boolean; }[]`\n - `metronome_customer_id: string`\n - `name: string`\n - `personal: boolean`\n - `services: { cloud: boolean; jit_provisioning: boolean; scim: boolean; siem: boolean; sso: boolean; }`\n - `stripe_customer_id: string`\n - `type: 'personal' | 'company'`\n - `updated_at: string`\n - `auth_id?: string`\n\n### Example\n\n```typescript\nimport NirvanaLabs from '@nirvana-labs/nirvana';\n\nconst client = new NirvanaLabs();\n\nconst organization = await client.organizations.create({ name: 'My Organization' });\n\nconsole.log(organization);\n```",
417
417
  perLanguage: {
418
418
  typescript: {
419
419
  method: 'client.organizations.create',
@@ -431,7 +431,7 @@ const EMBEDDED_METHODS: MethodEntry[] = [
431
431
  },
432
432
  http: {
433
433
  example:
434
- 'curl https://api.nirvanalabs.io/v1/organizations \\\n -H \'Content-Type: application/json\' \\\n -H "Authorization: Bearer $NIRVANA_LABS_API_KEY" \\\n -d \'{\n "name": "My Organization"\n }\'',
434
+ 'curl https://api.nirvanalabs.io/v1/organizations \\\n -H \'Content-Type: application/json\' \\\n -H "Authorization: Bearer $NIRVANA_LABS_API_KEY" \\\n -d \'{\n "name": "My Organization",\n "billing_email": "billing@example.com"\n }\'',
435
435
  },
436
436
  },
437
437
  },
@@ -445,9 +445,9 @@ const EMBEDDED_METHODS: MethodEntry[] = [
445
445
  qualified: 'client.organizations.get',
446
446
  params: ['organization_id: string;'],
447
447
  response:
448
- "{ id: string; created_at: string; domains: { id: string; domain: string; verified: boolean; }[]; metronome_customer_id: string; name: string; personal: boolean; services: { cloud: boolean; jit_provisioning: boolean; scim: boolean; siem: boolean; sso: boolean; }; stripe_customer_id: string; type: 'personal' | 'company'; updated_at: string; auth_id?: string; }",
448
+ "{ id: string; billing_email: string; created_at: string; domains: { id: string; domain: string; verified: boolean; }[]; metronome_customer_id: string; name: string; personal: boolean; services: { cloud: boolean; jit_provisioning: boolean; scim: boolean; siem: boolean; sso: boolean; }; stripe_customer_id: string; type: 'personal' | 'company'; updated_at: string; auth_id?: string; }",
449
449
  markdown:
450
- "## get\n\n`client.organizations.get(organization_id: string): { id: string; created_at: string; domains: organization_domain[]; metronome_customer_id: string; name: string; personal: boolean; services: organization_services; stripe_customer_id: string; type: organization_type; updated_at: string; auth_id?: string; }`\n\n**get** `/v1/organizations/{organization_id}`\n\nGet details about an Organization\n\n### Parameters\n\n- `organization_id: string`\n\n### Returns\n\n- `{ id: string; created_at: string; domains: { id: string; domain: string; verified: boolean; }[]; metronome_customer_id: string; name: string; personal: boolean; services: { cloud: boolean; jit_provisioning: boolean; scim: boolean; siem: boolean; sso: boolean; }; stripe_customer_id: string; type: 'personal' | 'company'; updated_at: string; auth_id?: string; }`\n Organization response.\n\n - `id: string`\n - `created_at: string`\n - `domains: { id: string; domain: string; verified: boolean; }[]`\n - `metronome_customer_id: string`\n - `name: string`\n - `personal: boolean`\n - `services: { cloud: boolean; jit_provisioning: boolean; scim: boolean; siem: boolean; sso: boolean; }`\n - `stripe_customer_id: string`\n - `type: 'personal' | 'company'`\n - `updated_at: string`\n - `auth_id?: string`\n\n### Example\n\n```typescript\nimport NirvanaLabs from '@nirvana-labs/nirvana';\n\nconst client = new NirvanaLabs();\n\nconst organization = await client.organizations.get('organization_id');\n\nconsole.log(organization);\n```",
450
+ "## get\n\n`client.organizations.get(organization_id: string): { id: string; billing_email: string; created_at: string; domains: organization_domain[]; metronome_customer_id: string; name: string; personal: boolean; services: organization_services; stripe_customer_id: string; type: organization_type; updated_at: string; auth_id?: string; }`\n\n**get** `/v1/organizations/{organization_id}`\n\nGet details about an Organization\n\n### Parameters\n\n- `organization_id: string`\n\n### Returns\n\n- `{ id: string; billing_email: string; created_at: string; domains: { id: string; domain: string; verified: boolean; }[]; metronome_customer_id: string; name: string; personal: boolean; services: { cloud: boolean; jit_provisioning: boolean; scim: boolean; siem: boolean; sso: boolean; }; stripe_customer_id: string; type: 'personal' | 'company'; updated_at: string; auth_id?: string; }`\n Organization response.\n\n - `id: string`\n - `billing_email: string`\n - `created_at: string`\n - `domains: { id: string; domain: string; verified: boolean; }[]`\n - `metronome_customer_id: string`\n - `name: string`\n - `personal: boolean`\n - `services: { cloud: boolean; jit_provisioning: boolean; scim: boolean; siem: boolean; sso: boolean; }`\n - `stripe_customer_id: string`\n - `type: 'personal' | 'company'`\n - `updated_at: string`\n - `auth_id?: string`\n\n### Example\n\n```typescript\nimport NirvanaLabs from '@nirvana-labs/nirvana';\n\nconst client = new NirvanaLabs();\n\nconst organization = await client.organizations.get('organization_id');\n\nconsole.log(organization);\n```",
451
451
  perLanguage: {
452
452
  typescript: {
453
453
  method: 'client.organizations.get',
@@ -478,11 +478,11 @@ const EMBEDDED_METHODS: MethodEntry[] = [
478
478
  description: 'Update an existing organization',
479
479
  stainlessPath: '(resource) organizations > (method) update',
480
480
  qualified: 'client.organizations.update',
481
- params: ['organization_id: string;', 'name?: string;'],
481
+ params: ['organization_id: string;', 'billing_email?: string;', 'name?: string;'],
482
482
  response:
483
- "{ id: string; created_at: string; domains: { id: string; domain: string; verified: boolean; }[]; metronome_customer_id: string; name: string; personal: boolean; services: { cloud: boolean; jit_provisioning: boolean; scim: boolean; siem: boolean; sso: boolean; }; stripe_customer_id: string; type: 'personal' | 'company'; updated_at: string; auth_id?: string; }",
483
+ "{ id: string; billing_email: string; created_at: string; domains: { id: string; domain: string; verified: boolean; }[]; metronome_customer_id: string; name: string; personal: boolean; services: { cloud: boolean; jit_provisioning: boolean; scim: boolean; siem: boolean; sso: boolean; }; stripe_customer_id: string; type: 'personal' | 'company'; updated_at: string; auth_id?: string; }",
484
484
  markdown:
485
- "## update\n\n`client.organizations.update(organization_id: string, name?: string): { id: string; created_at: string; domains: organization_domain[]; metronome_customer_id: string; name: string; personal: boolean; services: organization_services; stripe_customer_id: string; type: organization_type; updated_at: string; auth_id?: string; }`\n\n**patch** `/v1/organizations/{organization_id}`\n\nUpdate an existing organization\n\n### Parameters\n\n- `organization_id: string`\n\n- `name?: string`\n Organization name.\n\n### Returns\n\n- `{ id: string; created_at: string; domains: { id: string; domain: string; verified: boolean; }[]; metronome_customer_id: string; name: string; personal: boolean; services: { cloud: boolean; jit_provisioning: boolean; scim: boolean; siem: boolean; sso: boolean; }; stripe_customer_id: string; type: 'personal' | 'company'; updated_at: string; auth_id?: string; }`\n Organization response.\n\n - `id: string`\n - `created_at: string`\n - `domains: { id: string; domain: string; verified: boolean; }[]`\n - `metronome_customer_id: string`\n - `name: string`\n - `personal: boolean`\n - `services: { cloud: boolean; jit_provisioning: boolean; scim: boolean; siem: boolean; sso: boolean; }`\n - `stripe_customer_id: string`\n - `type: 'personal' | 'company'`\n - `updated_at: string`\n - `auth_id?: string`\n\n### Example\n\n```typescript\nimport NirvanaLabs from '@nirvana-labs/nirvana';\n\nconst client = new NirvanaLabs();\n\nconst organization = await client.organizations.update('organization_id');\n\nconsole.log(organization);\n```",
485
+ "## update\n\n`client.organizations.update(organization_id: string, billing_email?: string, name?: string): { id: string; billing_email: string; created_at: string; domains: organization_domain[]; metronome_customer_id: string; name: string; personal: boolean; services: organization_services; stripe_customer_id: string; type: organization_type; updated_at: string; auth_id?: string; }`\n\n**patch** `/v1/organizations/{organization_id}`\n\nUpdate an existing organization\n\n### Parameters\n\n- `organization_id: string`\n\n- `billing_email?: string`\n Billing email. Omit to leave unchanged, send null to clear (reverts to the\noldest owner's email), or send a value to set it.\n\n- `name?: string`\n Organization name.\n\n### Returns\n\n- `{ id: string; billing_email: string; created_at: string; domains: { id: string; domain: string; verified: boolean; }[]; metronome_customer_id: string; name: string; personal: boolean; services: { cloud: boolean; jit_provisioning: boolean; scim: boolean; siem: boolean; sso: boolean; }; stripe_customer_id: string; type: 'personal' | 'company'; updated_at: string; auth_id?: string; }`\n Organization response.\n\n - `id: string`\n - `billing_email: string`\n - `created_at: string`\n - `domains: { id: string; domain: string; verified: boolean; }[]`\n - `metronome_customer_id: string`\n - `name: string`\n - `personal: boolean`\n - `services: { cloud: boolean; jit_provisioning: boolean; scim: boolean; siem: boolean; sso: boolean; }`\n - `stripe_customer_id: string`\n - `type: 'personal' | 'company'`\n - `updated_at: string`\n - `auth_id?: string`\n\n### Example\n\n```typescript\nimport NirvanaLabs from '@nirvana-labs/nirvana';\n\nconst client = new NirvanaLabs();\n\nconst organization = await client.organizations.update('organization_id');\n\nconsole.log(organization);\n```",
486
486
  perLanguage: {
487
487
  typescript: {
488
488
  method: 'client.organizations.update',
@@ -501,7 +501,7 @@ const EMBEDDED_METHODS: MethodEntry[] = [
501
501
  },
502
502
  http: {
503
503
  example:
504
- 'curl https://api.nirvanalabs.io/v1/organizations/$ORGANIZATION_ID \\\n -X PATCH \\\n -H \'Content-Type: application/json\' \\\n -H "Authorization: Bearer $NIRVANA_LABS_API_KEY" \\\n -d \'{\n "name": "My Updated Organization"\n }\'',
504
+ 'curl https://api.nirvanalabs.io/v1/organizations/$ORGANIZATION_ID \\\n -X PATCH \\\n -H \'Content-Type: application/json\' \\\n -H "Authorization: Bearer $NIRVANA_LABS_API_KEY" \\\n -d \'{\n "billing_email": "billing@example.com",\n "name": "My Updated Organization"\n }\'',
505
505
  },
506
506
  },
507
507
  },
@@ -515,9 +515,9 @@ const EMBEDDED_METHODS: MethodEntry[] = [
515
515
  qualified: 'client.organizations.list',
516
516
  params: ['cursor?: string;', 'limit?: number;'],
517
517
  response:
518
- "{ id: string; created_at: string; domains: { id: string; domain: string; verified: boolean; }[]; metronome_customer_id: string; name: string; personal: boolean; services: { cloud: boolean; jit_provisioning: boolean; scim: boolean; siem: boolean; sso: boolean; }; stripe_customer_id: string; type: 'personal' | 'company'; updated_at: string; auth_id?: string; }",
518
+ "{ id: string; billing_email: string; created_at: string; domains: { id: string; domain: string; verified: boolean; }[]; metronome_customer_id: string; name: string; personal: boolean; services: { cloud: boolean; jit_provisioning: boolean; scim: boolean; siem: boolean; sso: boolean; }; stripe_customer_id: string; type: 'personal' | 'company'; updated_at: string; auth_id?: string; }",
519
519
  markdown:
520
- "## list\n\n`client.organizations.list(cursor?: string, limit?: number): { id: string; created_at: string; domains: organization_domain[]; metronome_customer_id: string; name: string; personal: boolean; services: organization_services; stripe_customer_id: string; type: organization_type; updated_at: string; auth_id?: string; }`\n\n**get** `/v1/organizations`\n\nList organizations\n\n### Parameters\n\n- `cursor?: string`\n Pagination cursor returned by a previous request\n\n- `limit?: number`\n Maximum number of items to return\n\n### Returns\n\n- `{ id: string; created_at: string; domains: { id: string; domain: string; verified: boolean; }[]; metronome_customer_id: string; name: string; personal: boolean; services: { cloud: boolean; jit_provisioning: boolean; scim: boolean; siem: boolean; sso: boolean; }; stripe_customer_id: string; type: 'personal' | 'company'; updated_at: string; auth_id?: string; }`\n Organization response.\n\n - `id: string`\n - `created_at: string`\n - `domains: { id: string; domain: string; verified: boolean; }[]`\n - `metronome_customer_id: string`\n - `name: string`\n - `personal: boolean`\n - `services: { cloud: boolean; jit_provisioning: boolean; scim: boolean; siem: boolean; sso: boolean; }`\n - `stripe_customer_id: string`\n - `type: 'personal' | 'company'`\n - `updated_at: string`\n - `auth_id?: string`\n\n### Example\n\n```typescript\nimport NirvanaLabs from '@nirvana-labs/nirvana';\n\nconst client = new NirvanaLabs();\n\n// Automatically fetches more pages as needed.\nfor await (const organization of client.organizations.list()) {\n console.log(organization);\n}\n```",
520
+ "## list\n\n`client.organizations.list(cursor?: string, limit?: number): { id: string; billing_email: string; created_at: string; domains: organization_domain[]; metronome_customer_id: string; name: string; personal: boolean; services: organization_services; stripe_customer_id: string; type: organization_type; updated_at: string; auth_id?: string; }`\n\n**get** `/v1/organizations`\n\nList organizations\n\n### Parameters\n\n- `cursor?: string`\n Pagination cursor returned by a previous request\n\n- `limit?: number`\n Maximum number of items to return\n\n### Returns\n\n- `{ id: string; billing_email: string; created_at: string; domains: { id: string; domain: string; verified: boolean; }[]; metronome_customer_id: string; name: string; personal: boolean; services: { cloud: boolean; jit_provisioning: boolean; scim: boolean; siem: boolean; sso: boolean; }; stripe_customer_id: string; type: 'personal' | 'company'; updated_at: string; auth_id?: string; }`\n Organization response.\n\n - `id: string`\n - `billing_email: string`\n - `created_at: string`\n - `domains: { id: string; domain: string; verified: boolean; }[]`\n - `metronome_customer_id: string`\n - `name: string`\n - `personal: boolean`\n - `services: { cloud: boolean; jit_provisioning: boolean; scim: boolean; siem: boolean; sso: boolean; }`\n - `stripe_customer_id: string`\n - `type: 'personal' | 'company'`\n - `updated_at: string`\n - `auth_id?: string`\n\n### Example\n\n```typescript\nimport NirvanaLabs from '@nirvana-labs/nirvana';\n\nconst client = new NirvanaLabs();\n\n// Automatically fetches more pages as needed.\nfor await (const organization of client.organizations.list()) {\n console.log(organization);\n}\n```",
521
521
  perLanguage: {
522
522
  typescript: {
523
523
  method: 'client.organizations.list',
@@ -642,6 +642,131 @@ const EMBEDDED_METHODS: MethodEntry[] = [
642
642
  },
643
643
  },
644
644
  },
645
+ {
646
+ name: 'create',
647
+ endpoint: '/v1/organizations/{organization_id}/address',
648
+ httpMethod: 'post',
649
+ summary: 'Create Organization Address',
650
+ description: 'Create the address for an organization',
651
+ stainlessPath: '(resource) organizations.address > (method) create',
652
+ qualified: 'client.organizations.address.create',
653
+ params: [
654
+ 'organization_id: string;',
655
+ 'city: string;',
656
+ 'country: string;',
657
+ 'line1: string;',
658
+ 'postal_code: string;',
659
+ 'line2?: string;',
660
+ 'state?: string;',
661
+ 'tax_id?: string;',
662
+ 'tax_id_type?: string;',
663
+ ],
664
+ response:
665
+ '{ id: string; city: string; country: string; created_at: string; line1: string; line2: string; organization_id: string; postal_code: string; state: string; tax_id: string; tax_id_type: string; updated_at: string; }',
666
+ markdown:
667
+ "## create\n\n`client.organizations.address.create(organization_id: string, city: string, country: string, line1: string, postal_code: string, line2?: string, state?: string, tax_id?: string, tax_id_type?: string): { id: string; city: string; country: string; created_at: string; line1: string; line2: string; organization_id: string; postal_code: string; state: string; tax_id: string; tax_id_type: string; updated_at: string; }`\n\n**post** `/v1/organizations/{organization_id}/address`\n\nCreate the address for an organization\n\n### Parameters\n\n- `organization_id: string`\n\n- `city: string`\n City or locality.\n\n- `country: string`\n Two-letter ISO 3166-1 alpha-2 country code.\n\n- `line1: string`\n First line of the street address.\n\n- `postal_code: string`\n Postal or ZIP code.\n\n- `line2?: string`\n Second line of the street address (suite, unit, building).\n\n- `state?: string`\n State, province, or region. Required by some tax jurisdictions (e.g. US, CA).\n\n- `tax_id?: string`\n Tax identification number (e.g. VAT, EIN, ABN). Optional.\n\n- `tax_id_type?: string`\n Type of the tax identification number (e.g. eu_vat, us_ein, gb_vat, au_abn). Optional.\n\n### Returns\n\n- `{ id: string; city: string; country: string; created_at: string; line1: string; line2: string; organization_id: string; postal_code: string; state: string; tax_id: string; tax_id_type: string; updated_at: string; }`\n Organization address details.\n\n - `id: string`\n - `city: string`\n - `country: string`\n - `created_at: string`\n - `line1: string`\n - `line2: string`\n - `organization_id: string`\n - `postal_code: string`\n - `state: string`\n - `tax_id: string`\n - `tax_id_type: string`\n - `updated_at: string`\n\n### Example\n\n```typescript\nimport NirvanaLabs from '@nirvana-labs/nirvana';\n\nconst client = new NirvanaLabs();\n\nconst organizationAddress = await client.organizations.address.create('organization_id', {\n city: 'San Francisco',\n country: 'US',\n line1: '123 Main St',\n postal_code: '94105',\n});\n\nconsole.log(organizationAddress);\n```",
668
+ perLanguage: {
669
+ typescript: {
670
+ method: 'client.organizations.address.create',
671
+ example:
672
+ "import NirvanaLabs from '@nirvana-labs/nirvana';\n\nconst client = new NirvanaLabs({\n apiKey: process.env['NIRVANA_LABS_API_KEY'], // This is the default and can be omitted\n});\n\nconst organizationAddress = await client.organizations.address.create('organization_id', {\n city: 'San Francisco',\n country: 'US',\n line1: '123 Main St',\n postal_code: '94105',\n});\n\nconsole.log(organizationAddress.id);",
673
+ },
674
+ go: {
675
+ method: 'client.Organizations.Address.New',
676
+ example:
677
+ 'package main\n\nimport (\n\t"context"\n\t"fmt"\n\n\t"github.com/nirvana-labs/nirvana-go"\n\t"github.com/nirvana-labs/nirvana-go/option"\n\t"github.com/nirvana-labs/nirvana-go/organizations"\n)\n\nfunc main() {\n\tclient := nirvana.NewClient(\n\t\toption.WithAPIKey("My API Key"),\n\t)\n\torganizationAddress, err := client.Organizations.Address.New(\n\t\tcontext.TODO(),\n\t\t"organization_id",\n\t\torganizations.AddressNewParams{\n\t\t\tCity: "San Francisco",\n\t\t\tCountry: "US",\n\t\t\tLine1: "123 Main St",\n\t\t\tPostalCode: "94105",\n\t\t},\n\t)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf("%+v\\n", organizationAddress.ID)\n}\n',
678
+ },
679
+ cli: {
680
+ method: 'address create',
681
+ example:
682
+ "nirvana organizations:address create \\\n --api-key 'My API Key' \\\n --organization-id organization_id \\\n --city 'San Francisco' \\\n --country US \\\n --line1 '123 Main St' \\\n --postal-code 94105",
683
+ },
684
+ http: {
685
+ example:
686
+ 'curl https://api.nirvanalabs.io/v1/organizations/$ORGANIZATION_ID/address \\\n -H \'Content-Type: application/json\' \\\n -H "Authorization: Bearer $NIRVANA_LABS_API_KEY" \\\n -d \'{\n "city": "San Francisco",\n "country": "US",\n "line1": "123 Main St",\n "postal_code": "94105",\n "line2": "Suite 400",\n "state": "CA",\n "tax_id": "EU372000000",\n "tax_id_type": "eu_vat"\n }\'',
687
+ },
688
+ },
689
+ },
690
+ {
691
+ name: 'get',
692
+ endpoint: '/v1/organizations/{organization_id}/address',
693
+ httpMethod: 'get',
694
+ summary: 'Get Organization Address',
695
+ description: 'Get the address for an organization',
696
+ stainlessPath: '(resource) organizations.address > (method) get',
697
+ qualified: 'client.organizations.address.get',
698
+ params: ['organization_id: string;'],
699
+ response:
700
+ '{ id: string; city: string; country: string; created_at: string; line1: string; line2: string; organization_id: string; postal_code: string; state: string; tax_id: string; tax_id_type: string; updated_at: string; }',
701
+ markdown:
702
+ "## get\n\n`client.organizations.address.get(organization_id: string): { id: string; city: string; country: string; created_at: string; line1: string; line2: string; organization_id: string; postal_code: string; state: string; tax_id: string; tax_id_type: string; updated_at: string; }`\n\n**get** `/v1/organizations/{organization_id}/address`\n\nGet the address for an organization\n\n### Parameters\n\n- `organization_id: string`\n\n### Returns\n\n- `{ id: string; city: string; country: string; created_at: string; line1: string; line2: string; organization_id: string; postal_code: string; state: string; tax_id: string; tax_id_type: string; updated_at: string; }`\n Organization address details.\n\n - `id: string`\n - `city: string`\n - `country: string`\n - `created_at: string`\n - `line1: string`\n - `line2: string`\n - `organization_id: string`\n - `postal_code: string`\n - `state: string`\n - `tax_id: string`\n - `tax_id_type: string`\n - `updated_at: string`\n\n### Example\n\n```typescript\nimport NirvanaLabs from '@nirvana-labs/nirvana';\n\nconst client = new NirvanaLabs();\n\nconst organizationAddress = await client.organizations.address.get('organization_id');\n\nconsole.log(organizationAddress);\n```",
703
+ perLanguage: {
704
+ typescript: {
705
+ method: 'client.organizations.address.get',
706
+ example:
707
+ "import NirvanaLabs from '@nirvana-labs/nirvana';\n\nconst client = new NirvanaLabs({\n apiKey: process.env['NIRVANA_LABS_API_KEY'], // This is the default and can be omitted\n});\n\nconst organizationAddress = await client.organizations.address.get('organization_id');\n\nconsole.log(organizationAddress.id);",
708
+ },
709
+ go: {
710
+ method: 'client.Organizations.Address.Get',
711
+ example:
712
+ 'package main\n\nimport (\n\t"context"\n\t"fmt"\n\n\t"github.com/nirvana-labs/nirvana-go"\n\t"github.com/nirvana-labs/nirvana-go/option"\n)\n\nfunc main() {\n\tclient := nirvana.NewClient(\n\t\toption.WithAPIKey("My API Key"),\n\t)\n\torganizationAddress, err := client.Organizations.Address.Get(context.TODO(), "organization_id")\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf("%+v\\n", organizationAddress.ID)\n}\n',
713
+ },
714
+ cli: {
715
+ method: 'address get',
716
+ example:
717
+ "nirvana organizations:address get \\\n --api-key 'My API Key' \\\n --organization-id organization_id",
718
+ },
719
+ http: {
720
+ example:
721
+ 'curl https://api.nirvanalabs.io/v1/organizations/$ORGANIZATION_ID/address \\\n -H "Authorization: Bearer $NIRVANA_LABS_API_KEY"',
722
+ },
723
+ },
724
+ },
725
+ {
726
+ name: 'update',
727
+ endpoint: '/v1/organizations/{organization_id}/address',
728
+ httpMethod: 'patch',
729
+ summary: 'Update Organization Address',
730
+ description: 'Update the address for an organization',
731
+ stainlessPath: '(resource) organizations.address > (method) update',
732
+ qualified: 'client.organizations.address.update',
733
+ params: [
734
+ 'organization_id: string;',
735
+ 'city?: string;',
736
+ 'country?: string;',
737
+ 'line1?: string;',
738
+ 'line2?: string;',
739
+ 'postal_code?: string;',
740
+ 'state?: string;',
741
+ 'tax_id?: string;',
742
+ 'tax_id_type?: string;',
743
+ ],
744
+ response:
745
+ '{ id: string; city: string; country: string; created_at: string; line1: string; line2: string; organization_id: string; postal_code: string; state: string; tax_id: string; tax_id_type: string; updated_at: string; }',
746
+ markdown:
747
+ "## update\n\n`client.organizations.address.update(organization_id: string, city?: string, country?: string, line1?: string, line2?: string, postal_code?: string, state?: string, tax_id?: string, tax_id_type?: string): { id: string; city: string; country: string; created_at: string; line1: string; line2: string; organization_id: string; postal_code: string; state: string; tax_id: string; tax_id_type: string; updated_at: string; }`\n\n**patch** `/v1/organizations/{organization_id}/address`\n\nUpdate the address for an organization\n\n### Parameters\n\n- `organization_id: string`\n\n- `city?: string`\n City or locality.\n\n- `country?: string`\n Two-letter ISO 3166-1 alpha-2 country code.\n\n- `line1?: string`\n First line of the street address.\n\n- `line2?: string`\n Second line of the street address (suite, unit, building). Omit to leave\nunchanged, send null to clear, or send a value to set it.\n\n- `postal_code?: string`\n Postal or ZIP code.\n\n- `state?: string`\n State, province, or region. Omit to leave unchanged, send null to clear,\nor send a value to set it.\n\n- `tax_id?: string`\n Tax identification number (e.g. VAT, EIN, ABN). Omit to leave unchanged,\nsend null to clear, or send a value to set it.\n\n- `tax_id_type?: string`\n Type of the tax identification number (e.g. eu_vat, us_ein, gb_vat, au_abn).\nOmit to leave unchanged, send null to clear, or send a value to set it.\n\n### Returns\n\n- `{ id: string; city: string; country: string; created_at: string; line1: string; line2: string; organization_id: string; postal_code: string; state: string; tax_id: string; tax_id_type: string; updated_at: string; }`\n Organization address details.\n\n - `id: string`\n - `city: string`\n - `country: string`\n - `created_at: string`\n - `line1: string`\n - `line2: string`\n - `organization_id: string`\n - `postal_code: string`\n - `state: string`\n - `tax_id: string`\n - `tax_id_type: string`\n - `updated_at: string`\n\n### Example\n\n```typescript\nimport NirvanaLabs from '@nirvana-labs/nirvana';\n\nconst client = new NirvanaLabs();\n\nconst organizationAddress = await client.organizations.address.update('organization_id');\n\nconsole.log(organizationAddress);\n```",
748
+ perLanguage: {
749
+ typescript: {
750
+ method: 'client.organizations.address.update',
751
+ example:
752
+ "import NirvanaLabs from '@nirvana-labs/nirvana';\n\nconst client = new NirvanaLabs({\n apiKey: process.env['NIRVANA_LABS_API_KEY'], // This is the default and can be omitted\n});\n\nconst organizationAddress = await client.organizations.address.update('organization_id');\n\nconsole.log(organizationAddress.id);",
753
+ },
754
+ go: {
755
+ method: 'client.Organizations.Address.Update',
756
+ example:
757
+ 'package main\n\nimport (\n\t"context"\n\t"fmt"\n\n\t"github.com/nirvana-labs/nirvana-go"\n\t"github.com/nirvana-labs/nirvana-go/option"\n\t"github.com/nirvana-labs/nirvana-go/organizations"\n)\n\nfunc main() {\n\tclient := nirvana.NewClient(\n\t\toption.WithAPIKey("My API Key"),\n\t)\n\torganizationAddress, err := client.Organizations.Address.Update(\n\t\tcontext.TODO(),\n\t\t"organization_id",\n\t\torganizations.AddressUpdateParams{},\n\t)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf("%+v\\n", organizationAddress.ID)\n}\n',
758
+ },
759
+ cli: {
760
+ method: 'address update',
761
+ example:
762
+ "nirvana organizations:address update \\\n --api-key 'My API Key' \\\n --organization-id organization_id",
763
+ },
764
+ http: {
765
+ example:
766
+ 'curl https://api.nirvanalabs.io/v1/organizations/$ORGANIZATION_ID/address \\\n -X PATCH \\\n -H \'Content-Type: application/json\' \\\n -H "Authorization: Bearer $NIRVANA_LABS_API_KEY" \\\n -d \'{\n "city": "San Francisco",\n "country": "US",\n "line1": "123 Main St",\n "line2": "Suite 400",\n "postal_code": "94105",\n "state": "CA",\n "tax_id": "EU372000000",\n "tax_id_type": "eu_vat"\n }\'',
767
+ },
768
+ },
769
+ },
645
770
  {
646
771
  name: 'get',
647
772
  endpoint: '/v1/quotas/{region}',
package/src/methods.ts CHANGED
@@ -112,6 +112,24 @@ export const sdkMethods: SdkMethod[] = [
112
112
  httpMethod: 'get',
113
113
  httpPath: '/v1/organizations/{organization_id}/memberships/{membership_id}',
114
114
  },
115
+ {
116
+ clientCallName: 'client.organizations.address.create',
117
+ fullyQualifiedName: 'organizations.address.create',
118
+ httpMethod: 'post',
119
+ httpPath: '/v1/organizations/{organization_id}/address',
120
+ },
121
+ {
122
+ clientCallName: 'client.organizations.address.update',
123
+ fullyQualifiedName: 'organizations.address.update',
124
+ httpMethod: 'patch',
125
+ httpPath: '/v1/organizations/{organization_id}/address',
126
+ },
127
+ {
128
+ clientCallName: 'client.organizations.address.get',
129
+ fullyQualifiedName: 'organizations.address.get',
130
+ httpMethod: 'get',
131
+ httpPath: '/v1/organizations/{organization_id}/address',
132
+ },
115
133
  {
116
134
  clientCallName: 'client.quotas.list',
117
135
  fullyQualifiedName: 'quotas.list',
package/src/server.ts CHANGED
@@ -28,7 +28,7 @@ export const newMcpServer = async ({
28
28
  new McpServer(
29
29
  {
30
30
  name: 'nirvana_labs_nirvana_api',
31
- version: '1.90.1',
31
+ version: '1.91.1',
32
32
  },
33
33
  {
34
34
  instructions: await getInstructions({ stainlessApiKey, customInstructionsPath }),