Orishare
API reference
GET
/public/offers/current

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/public/offers/current"
{  "id": "string",  "version": -9007199254740991,  "label": "string",  "eligibility": {    "property1": null,    "property2": null  },  "plan_id": "string",  "plan_version": -9007199254740991,  "published_at": "string",  "model": "legacy_mac",  "currency": "string",  "meter_version": -9007199254740991,  "calculator_version": "string",  "terms": {    "property1": null,    "property2": null  }}
POST
/public/estimates

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/public/estimates" \  -H "Content-Type: application/json" \  -d '{    "usage": {      "active_customers": "1500",      "events": "20000"    }  }'
{  "offer": {    "id": "string",    "version": -9007199254740991,    "label": "string",    "plan_id": "string",    "plan_version": -9007199254740991  },  "estimate": {    "complete": true,    "calculator_version": "string",    "model": "legacy_mac",    "period": "string",    "currency": "string",    "lines": [      {        "kind": "string",        "description": "string",        "quantity": "string",        "amount_minor": "string",        "rate": {          "minor": "string",          "per": "unit"        },        "band": -9007199254740991,        "service": "string",        "allowance": "string"      }    ],    "included_units": "string",    "excess_units": "string",    "bands_applied": [      {        "property1": null,        "property2": null      }    ],    "total_minor": "string",    "assumptions": [      {        "code": "string",        "blocking": true,        "detail": "string"      }    ]  }}
GET
/organizations/{id}/pricing

Authorization

AuthorizationBearer <token>

Personal access token. Scopes are listed in x-orishare-authorization.

In: header

Path Parameters

id*string
Length1 <= length <= 64

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/organizations/string/pricing"
{  "organization_id": "string",  "as_of": "string",  "current": {    "id": "string",    "plan_id": "string",    "plan_version": -9007199254740991,    "group_id": "string",    "group_label": "string",    "effective_from": "string",    "effective_until": "string",    "source": "string",    "model": "legacy_mac",    "currency": "string",    "meter_version": -9007199254740991,    "calculator_version": "string",    "visibility": "public",    "terms": {      "property1": null,      "property2": null    }  },  "next_change": {    "id": "string",    "plan_id": "string",    "plan_version": -9007199254740991,    "group_id": "string",    "group_label": "string",    "effective_from": "string",    "effective_until": "string",    "source": "string",    "model": "legacy_mac",    "currency": "string",    "meter_version": -9007199254740991,    "calculator_version": "string",    "visibility": "public",    "terms": {      "property1": null,      "property2": null    }  },  "assignments": [    {      "id": "string",      "plan_id": "string",      "plan_version": -9007199254740991,      "group_id": "string",      "group_label": "string",      "effective_from": "string",      "effective_until": "string",      "source": "string",      "model": "legacy_mac",      "currency": "string",      "meter_version": -9007199254740991,      "calculator_version": "string",      "visibility": "public",      "terms": {        "property1": null,        "property2": null      }    }  ],  "enforcement": {    "from_period": "string"  },  "spend_settings": {    "ceiling_minor": "string",    "alerts": [      {        "percent": 1      }    ],    "revision": -9007199254740991  }}
GET
/organizations/{id}/usage

Authorization

AuthorizationBearer <token>

Personal access token. Scopes are listed in x-orishare-authorization.

In: header

Path Parameters

id*string
Length1 <= length <= 64

Query Parameters

period?string
Match^[0-9]{4}-(0[1-9]|1[0-2])$

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/organizations/string/usage"
{  "organization_id": "string",  "period": "string",  "as_of": "string",  "current_period": true,  "assignment": {    "id": "string",    "plan_id": "string",    "plan_version": -9007199254740991,    "group_id": "string",    "group_label": "string",    "effective_from": "string",    "effective_until": "string",    "source": "string",    "model": "legacy_mac",    "currency": "string",    "meter_version": -9007199254740991,    "calculator_version": "string",    "visibility": "public",    "terms": {      "property1": null,      "property2": null    }  },  "enforced": true,  "budget": {    "capacity_units": "string",    "capacity_unbounded": true,    "consumed_units": "string"  },  "meters": [    {      "environment_id": "string",      "project_id": "string",      "class": "string",      "units": "string"    }  ],  "totals": {    "billable_event": "string",    "billable_operation": "string"  },  "legacy": [    {      "environment_id": "string",      "project_id": "string",      "accepted_events": "string",      "active_customers": "string",      "timezone": "string"    }  ],  "sandbox": [    {      "environment_id": "string",      "project_id": "string",      "accepted_events": "string",      "active_customers": "string",      "label": "sandbox"    }  ],  "allowance": {    "state": "within_allowance",    "included_units": "string",    "consumed_units": "string",    "percent_used": -9007199254740991,    "waived_units": "string",    "payment_method": true,    "grace_days": -9007199254740991,    "grace_units": "string",    "grace": {      "started_at": "string",      "ends_at": "string",      "grace_units": "string",      "waived_units": "string",      "ended_at": "string",      "end_reason": "time",      "active": true    }  },  "usage": {    "events": "string",    "operations": "string",    "active_customers": "string",    "optional": {      "ai": {        "tokens": "string"      }    }  },  "estimate": {    "complete": true,    "calculator_version": "string",    "model": "legacy_mac",    "period": "string",    "currency": "string",    "lines": [      {        "kind": "string",        "description": "string",        "quantity": "string",        "amount_minor": "string",        "rate": {          "minor": "string",          "per": "unit"        },        "band": -9007199254740991,        "service": "string",        "allowance": "string"      }    ],    "included_units": "string",    "excess_units": "string",    "bands_applied": [      {        "property1": null,        "property2": null      }    ],    "total_minor": "string",    "assumptions": [      {        "code": "string",        "blocking": true,        "detail": "string"      }    ]  },  "forecast": {    "basis": "linear_to_period_end",    "elapsed_fraction": "string",    "usage": {      "events": "string",      "operations": "string",      "active_customers": "string",      "optional": {        "ai": {          "tokens": "string"        }      }    },    "estimate": {      "complete": true,      "calculator_version": "string",      "model": "legacy_mac",      "period": "string",      "currency": "string",      "lines": [        {          "kind": "string",          "description": "string",          "quantity": "string",          "amount_minor": "string",          "rate": {            "minor": "string",            "per": "unit"          },          "band": -9007199254740991,          "service": "string",          "allowance": "string"        }      ],      "included_units": "string",      "excess_units": "string",      "bands_applied": [        {          "property1": null,          "property2": null        }      ],      "total_minor": "string",      "assumptions": [        {          "code": "string",          "blocking": true,          "detail": "string"        }      ]    }  }}
GET
/organizations/{id}/usage/alerts

Authorization

AuthorizationBearer <token>

Personal access token. Scopes are listed in x-orishare-authorization.

In: header

Path Parameters

id*string
Length1 <= length <= 64

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/organizations/string/usage/alerts"
{  "data": [    {      "period": "string",      "kind": "allowance_80",      "detail": {        "property1": null,        "property2": null      },      "created_at": "string",      "sent_at": "string"    }  ]}
GET
/organizations/{id}/usage/statements

Authorization

AuthorizationBearer <token>

Personal access token. Scopes are listed in x-orishare-authorization.

In: header

Path Parameters

id*string
Length1 <= length <= 64

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/organizations/string/usage/statements"
{  "data": [    {      "id": "string",      "period": "string",      "assignment_id": "string",      "plan_id": "string",      "plan_version": -9007199254740991,      "model": "string",      "calculator_version": "string",      "currency": "string",      "inputs": {        "property1": null,        "property2": null      },      "lines": [        null      ],      "total_minor": "string",      "complete": true,      "status": "string",      "closed_at": "string",      "adjustments": [        {          "id": "string",          "identity": "string",          "units": "string",          "amount_minor": "string",          "reason": "string",          "created_at": "string"        }      ]    }  ]}
PATCH
/organizations/{id}/spend_settings

Authorization

AuthorizationBearer <token>

Personal access token. Scopes are listed in x-orishare-authorization.

In: header

Path Parameters

id*string
Length1 <= length <= 64

Header Parameters

Idempotency-Key*string

Required. Official clients generate a UUID when omitted by the caller.

Length1 <= length <= 255
If-Match*string

Required revision, checked in the owning transaction.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X PATCH "https://example.com/organizations/string/spend_settings" \  -H "Idempotency-Key: string" \  -H "If-Match: string" \  -H "Content-Type: application/json" \  -d '{    "ceiling_minor": "50000",    "alerts": [      {        "percent": 80      }    ]  }'
{  "organization_id": "string",  "ceiling_minor": "string",  "alerts": [    {      "percent": 1    }  ],  "revision": -9007199254740991}
GET
/support/pricing/groups
AuthorizationBearer <token>

Audited staff access with a staff grant and audit reason.

In: header

Header Parameters

X-Orishare-Audit-Reason*string

Required for staff authorization. Records the reason for staff access.

Length1 <= length

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/support/pricing/groups" \  -H "X-Orishare-Audit-Reason: string"
{  "data": [    {      "id": "string",      "label": "string",      "notes": "string",      "default_plan_id": "string",      "default_plan_version": -9007199254740991,      "enrollment_open": true,      "revision": -9007199254740991,      "members": -9007199254740991    }  ]}
POST
/support/pricing/groups
AuthorizationBearer <token>

Audited staff access with a staff grant and audit reason.

In: header

Header Parameters

Idempotency-Key*string

Required. Official clients generate a UUID when omitted by the caller.

Length1 <= length <= 255
X-Orishare-Audit-Reason*string

Required for staff authorization. Records the reason for staff access.

Length1 <= length

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/support/pricing/groups" \  -H "Idempotency-Key: string" \  -H "X-Orishare-Audit-Reason: string" \  -H "Content-Type: application/json" \  -d '{    "label": "Design partners"  }'
{  "id": "string",  "label": "string",  "notes": "string",  "default_plan_id": "string",  "default_plan_version": -9007199254740991,  "enrollment_open": true,  "revision": -9007199254740991,  "members": -9007199254740991}
GET
/support/pricing/versions
AuthorizationBearer <token>

Audited staff access with a staff grant and audit reason.

In: header

Header Parameters

X-Orishare-Audit-Reason*string

Required for staff authorization. Records the reason for staff access.

Length1 <= length

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/support/pricing/versions" \  -H "X-Orishare-Audit-Reason: string"
{  "data": [    {      "plan_id": "string",      "plan_version": -9007199254740991,      "name": "string",      "model": "legacy_mac",      "currency": "string",      "meter_version": -9007199254740991,      "calculator_version": "string",      "visibility": "public",      "status": "draft",      "revision": -9007199254740991,      "published_at": "string",      "entitlements": {        "property1": null,        "property2": null      },      "terms": {        "property1": null,        "property2": null      }    }  ]}
GET
/support/pricing/organizations
AuthorizationBearer <token>

Audited staff access with a staff grant and audit reason.

In: header

Query Parameters

limit?integer
Range1 <= value <= 200
Default50
cursor?string
Lengthlength <= 2048
group?string
Length1 <= length <= 64
q?string
Length1 <= length <= 200
plan_id?string
Match^[a-z][a-z0-9_]{0,63}$
plan_version?integer
Range1 <= value <= 1000000

Header Parameters

X-Orishare-Audit-Reason*string

Required for staff authorization. Records the reason for staff access.

Length1 <= length

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/support/pricing/organizations" \  -H "X-Orishare-Audit-Reason: string"
{  "data": [    {      "organization_id": "string",      "name": "string",      "assignment": {        "id": "string",        "plan_id": "string",        "plan_version": -9007199254740991,        "group_id": "string",        "group_label": "string",        "effective_from": "string",        "effective_until": "string",        "source": "string",        "model": "legacy_mac",        "currency": "string",        "meter_version": -9007199254740991,        "calculator_version": "string",        "visibility": "public",        "terms": {          "property1": null,          "property2": null        }      }    }  ],  "next_cursor": "string",  "has_more": true}
GET
/support/pricing/organizations/{id}
AuthorizationBearer <token>

Audited staff access with a staff grant and audit reason.

In: header

Path Parameters

id*string
Length1 <= length <= 64

Header Parameters

X-Orishare-Audit-Reason*string

Required for staff authorization. Records the reason for staff access.

Length1 <= length

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/support/pricing/organizations/string" \  -H "X-Orishare-Audit-Reason: string"
{  "organization_id": "string",  "as_of": "string",  "current": {    "id": "string",    "plan_id": "string",    "plan_version": -9007199254740991,    "group_id": "string",    "group_label": "string",    "effective_from": "string",    "effective_until": "string",    "source": "string",    "model": "legacy_mac",    "currency": "string",    "meter_version": -9007199254740991,    "calculator_version": "string",    "visibility": "public",    "terms": {      "property1": null,      "property2": null    }  },  "next_change": {    "id": "string",    "plan_id": "string",    "plan_version": -9007199254740991,    "group_id": "string",    "group_label": "string",    "effective_from": "string",    "effective_until": "string",    "source": "string",    "model": "legacy_mac",    "currency": "string",    "meter_version": -9007199254740991,    "calculator_version": "string",    "visibility": "public",    "terms": {      "property1": null,      "property2": null    }  },  "assignments": [    {      "id": "string",      "plan_id": "string",      "plan_version": -9007199254740991,      "group_id": "string",      "group_label": "string",      "effective_from": "string",      "effective_until": "string",      "source": "string",      "model": "legacy_mac",      "currency": "string",      "meter_version": -9007199254740991,      "calculator_version": "string",      "visibility": "public",      "terms": {        "property1": null,        "property2": null      }    }  ],  "enforcement": {    "from_period": "string"  },  "spend_settings": {    "ceiling_minor": "string",    "alerts": [      {        "percent": 1      }    ],    "revision": -9007199254740991  },  "name": "string",  "usage": {    "organization_id": "string",    "period": "string",    "as_of": "string",    "current_period": true,    "assignment": {      "id": "string",      "plan_id": "string",      "plan_version": -9007199254740991,      "group_id": "string",      "group_label": "string",      "effective_from": "string",      "effective_until": "string",      "source": "string",      "model": "legacy_mac",      "currency": "string",      "meter_version": -9007199254740991,      "calculator_version": "string",      "visibility": "public",      "terms": {        "property1": null,        "property2": null      }    },    "enforced": true,    "budget": {      "capacity_units": "string",      "capacity_unbounded": true,      "consumed_units": "string"    },    "meters": [      {        "environment_id": "string",        "project_id": "string",        "class": "string",        "units": "string"      }    ],    "totals": {      "billable_event": "string",      "billable_operation": "string"    },    "legacy": [      {        "environment_id": "string",        "project_id": "string",        "accepted_events": "string",        "active_customers": "string",        "timezone": "string"      }    ],    "sandbox": [      {        "environment_id": "string",        "project_id": "string",        "accepted_events": "string",        "active_customers": "string",        "label": "sandbox"      }    ],    "allowance": {      "state": "within_allowance",      "included_units": "string",      "consumed_units": "string",      "percent_used": -9007199254740991,      "waived_units": "string",      "payment_method": true,      "grace_days": -9007199254740991,      "grace_units": "string",      "grace": {        "started_at": "string",        "ends_at": "string",        "grace_units": "string",        "waived_units": "string",        "ended_at": "string",        "end_reason": "time",        "active": true      }    },    "usage": {      "events": "string",      "operations": "string",      "active_customers": "string",      "optional": {        "ai": {          "tokens": "string"        }      }    },    "estimate": {      "complete": true,      "calculator_version": "string",      "model": "legacy_mac",      "period": "string",      "currency": "string",      "lines": [        {          "kind": "string",          "description": "string",          "quantity": "string",          "amount_minor": "string",          "rate": {            "minor": "string",            "per": "unit"          },          "band": -9007199254740991,          "service": "string",          "allowance": "string"        }      ],      "included_units": "string",      "excess_units": "string",      "bands_applied": [        {          "property1": null,          "property2": null        }      ],      "total_minor": "string",      "assumptions": [        {          "code": "string",          "blocking": true,          "detail": "string"        }      ]    },    "forecast": {      "basis": "linear_to_period_end",      "elapsed_fraction": "string",      "usage": {        "events": "string",        "operations": "string",        "active_customers": "string",        "optional": {          "ai": {            "tokens": "string"          }        }      },      "estimate": {        "complete": true,        "calculator_version": "string",        "model": "legacy_mac",        "period": "string",        "currency": "string",        "lines": [          {            "kind": "string",            "description": "string",            "quantity": "string",            "amount_minor": "string",            "rate": {              "minor": "string",              "per": "unit"            },            "band": -9007199254740991,            "service": "string",            "allowance": "string"          }        ],        "included_units": "string",        "excess_units": "string",        "bands_applied": [          {            "property1": null,            "property2": null          }        ],        "total_minor": "string",        "assumptions": [          {            "code": "string",            "blocking": true,            "detail": "string"          }        ]      }    }  },  "statements": [    {      "id": "string",      "period": "string",      "assignment_id": "string",      "plan_id": "string",      "plan_version": -9007199254740991,      "model": "string",      "calculator_version": "string",      "currency": "string",      "inputs": {        "property1": null,        "property2": null      },      "lines": [        null      ],      "total_minor": "string",      "complete": true,      "status": "string",      "closed_at": "string",      "adjustments": [        {          "id": "string",          "identity": "string",          "units": "string",          "amount_minor": "string",          "reason": "string",          "created_at": "string"        }      ]    }  ]}
GET
/support/pricing/proposals
AuthorizationBearer <token>

Audited staff access with a staff grant and audit reason.

In: header

Query Parameters

limit?integer
Range1 <= value <= 100
Default50
cursor?string
Lengthlength <= 2048
status?string

Value in

  • "pending"
  • "committed"
  • "stale"
  • "expired"
  • "cancelled"

Header Parameters

X-Orishare-Audit-Reason*string

Required for staff authorization. Records the reason for staff access.

Length1 <= length

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/support/pricing/proposals" \  -H "X-Orishare-Audit-Reason: string"
{  "data": [    {      "id": "string",      "kind": "string",      "commands": [        {          "property1": null,          "property2": null        }      ],      "plan_digest": "string",      "expected_revisions": [        {          "property1": null,          "property2": null        }      ],      "status": "pending",      "proposer": "string",      "audit_reason": "string",      "expires_at": "string",      "stale_reason": null,      "outcome": {        "property1": null,        "property2": null      },      "commit_id": "string",      "committed_at": "string",      "created_at": "string",      "version": -9007199254740991,      "commit": {        "id": "string",        "committer": "string",        "reason": "string",        "plan_digest": "string",        "outcome": {          "property1": null,          "property2": null        },        "created_at": "string"      },      "affected_organizations": {        "count": -9007199254740991,        "sample": [          "string"        ]      },      "item_count": -9007199254740991,      "item_statuses": {        "pending": -9007199254740991,        "applied": -9007199254740991,        "skipped": -9007199254740991,        "failed": -9007199254740991      }    }  ],  "next_cursor": "string",  "has_more": true}
POST
/support/pricing/proposals
AuthorizationBearer <token>

Audited staff access with a staff grant and audit reason.

In: header

Header Parameters

Idempotency-Key*string

Required. Official clients generate a UUID when omitted by the caller.

Length1 <= length <= 255
X-Orishare-Audit-Reason*string

Required for staff authorization. Records the reason for staff access.

Length1 <= length

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/support/pricing/proposals" \  -H "Idempotency-Key: string" \  -H "X-Orishare-Audit-Reason: string" \  -H "Content-Type: application/json" \  -d '{    "commands": [      {        "kind": "pricing.publish_terms",        "plan_id": "developer",        "plan_version": 2      }    ]  }'
{  "id": "string",  "kind": "string",  "commands": [    {      "property1": null,      "property2": null    }  ],  "plan": {    "property1": null,    "property2": null  },  "plan_digest": "string",  "expected_revisions": [    {      "property1": null,      "property2": null    }  ],  "status": "pending",  "proposer": "string",  "audit_reason": "string",  "expires_at": "string",  "stale_reason": null,  "outcome": {    "property1": null,    "property2": null  },  "commit_id": "string",  "committed_at": "string",  "created_at": "string",  "version": -9007199254740991,  "items": [    {      "organization_id": "string",      "expected_assignment_id": "string",      "status": "pending",      "outcome": {        "property1": null,        "property2": null      },      "applied_at": "string"    }  ],  "commit": {    "id": "string",    "committer": "string",    "reason": "string",    "plan_digest": "string",    "outcome": {      "property1": null,      "property2": null    },    "created_at": "string"  }}
GET
/support/pricing/proposals/{id}
AuthorizationBearer <token>

Audited staff access with a staff grant and audit reason.

In: header

Path Parameters

id*string
Length1 <= length <= 64

Header Parameters

X-Orishare-Audit-Reason*string

Required for staff authorization. Records the reason for staff access.

Length1 <= length

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/support/pricing/proposals/string" \  -H "X-Orishare-Audit-Reason: string"
{  "id": "string",  "kind": "string",  "commands": [    {      "property1": null,      "property2": null    }  ],  "plan": {    "property1": null,    "property2": null  },  "plan_digest": "string",  "expected_revisions": [    {      "property1": null,      "property2": null    }  ],  "status": "pending",  "proposer": "string",  "audit_reason": "string",  "expires_at": "string",  "stale_reason": null,  "outcome": {    "property1": null,    "property2": null  },  "commit_id": "string",  "committed_at": "string",  "created_at": "string",  "version": -9007199254740991,  "items": [    {      "organization_id": "string",      "expected_assignment_id": "string",      "status": "pending",      "outcome": {        "property1": null,        "property2": null      },      "applied_at": "string"    }  ],  "commit": {    "id": "string",    "committer": "string",    "reason": "string",    "plan_digest": "string",    "outcome": {      "property1": null,      "property2": null    },    "created_at": "string"  }}
POST
/support/pricing/drafts
AuthorizationBearer <token>

Audited staff access with a staff grant and audit reason.

In: header

Header Parameters

Idempotency-Key*string

Required. Official clients generate a UUID when omitted by the caller.

Length1 <= length <= 255
X-Orishare-Audit-Reason*string

Required for staff authorization. Records the reason for staff access.

Length1 <= length

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/support/pricing/drafts" \  -H "Idempotency-Key: string" \  -H "X-Orishare-Audit-Reason: string" \  -H "Content-Type: application/json" \  -d '{    "plan_id": "developer",    "plan_version": 2,    "from": {      "plan_id": "developer",      "plan_version": 1    },    "visibility": "private"  }'
{  "plan_id": "string",  "plan_version": -9007199254740991,  "name": "string",  "model": "legacy_mac",  "currency": "string",  "meter_version": -9007199254740991,  "calculator_version": "string",  "visibility": "public",  "status": "draft",  "revision": -9007199254740991,  "published_at": "string",  "entitlements": {    "property1": null,    "property2": null  },  "terms": {    "property1": null,    "property2": null  }}
PATCH
/support/pricing/drafts/{plan_id}/{version}
AuthorizationBearer <token>

Audited staff access with a staff grant and audit reason.

In: header

Path Parameters

plan_id*string
Match^[a-z][a-z0-9_]{0,63}$
version*integer
Range1 <= value <= 1000000

Header Parameters

Idempotency-Key*string

Required. Official clients generate a UUID when omitted by the caller.

Length1 <= length <= 255
X-Orishare-Audit-Reason*string

Required for staff authorization. Records the reason for staff access.

Length1 <= length
If-Match*string

Required revision, checked in the owning transaction.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X PATCH "https://example.com/support/pricing/drafts/string/1" \  -H "Idempotency-Key: string" \  -H "X-Orishare-Audit-Reason: string" \  -H "If-Match: string" \  -H "Content-Type: application/json" \  -d '{    "name": "Developer 2"  }'
{  "plan_id": "string",  "plan_version": -9007199254740991,  "name": "string",  "model": "legacy_mac",  "currency": "string",  "meter_version": -9007199254740991,  "calculator_version": "string",  "visibility": "public",  "status": "draft",  "revision": -9007199254740991,  "published_at": "string",  "entitlements": {    "property1": null,    "property2": null  },  "terms": {    "property1": null,    "property2": null  }}
PATCH
/support/pricing/groups/{id}
AuthorizationBearer <token>

Audited staff access with a staff grant and audit reason.

In: header

Path Parameters

id*string
Length1 <= length <= 64

Header Parameters

Idempotency-Key*string

Required. Official clients generate a UUID when omitted by the caller.

Length1 <= length <= 255
X-Orishare-Audit-Reason*string

Required for staff authorization. Records the reason for staff access.

Length1 <= length
If-Match*string

Required revision, checked in the owning transaction.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X PATCH "https://example.com/support/pricing/groups/string" \  -H "Idempotency-Key: string" \  -H "X-Orishare-Audit-Reason: string" \  -H "If-Match: string" \  -H "Content-Type: application/json" \  -d '{    "enrollment_open": true  }'
{  "id": "string",  "label": "string",  "notes": "string",  "default_plan_id": "string",  "default_plan_version": -9007199254740991,  "enrollment_open": true,  "revision": -9007199254740991,  "members": -9007199254740991}
POST
/support/pricing/proposal_commits
AuthorizationBearer <token>

Audited staff access with a staff grant and audit reason.

In: header

Header Parameters

Idempotency-Key*string

Required. Official clients generate a UUID when omitted by the caller.

Length1 <= length <= 255
X-Orishare-Audit-Reason*string

Required for staff authorization. Records the reason for staff access.

Length1 <= length

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/support/pricing/proposal_commits" \  -H "Idempotency-Key: string" \  -H "X-Orishare-Audit-Reason: string" \  -H "Content-Type: application/json" \  -d '{    "proposal_id": "ppr_00000000000000000000000000000001",    "plan_digest": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"  }'
{  "id": "string",  "proposal_id": "string",  "status": "committed",  "plan_digest": "string",  "outcome": {    "property1": null,    "property2": null  },  "proposal": {    "id": "string",    "kind": "string",    "commands": [      {        "property1": null,        "property2": null      }    ],    "plan": {      "property1": null,      "property2": null    },    "plan_digest": "string",    "expected_revisions": [      {        "property1": null,        "property2": null      }    ],    "status": "pending",    "proposer": "string",    "audit_reason": "string",    "expires_at": "string",    "stale_reason": null,    "outcome": {      "property1": null,      "property2": null    },    "commit_id": "string",    "committed_at": "string",    "created_at": "string",    "version": -9007199254740991,    "items": [      {        "organization_id": "string",        "expected_assignment_id": "string",        "status": "pending",        "outcome": {          "property1": null,          "property2": null        },        "applied_at": "string"      }    ],    "commit": {      "id": "string",      "committer": "string",      "reason": "string",      "plan_digest": "string",      "outcome": {        "property1": null,        "property2": null      },      "created_at": "string"    }  }}
POST
/support/pricing/proposals/{id}/cancellations
AuthorizationBearer <token>

Audited staff access with a staff grant and audit reason.

In: header

Path Parameters

id*string
Length1 <= length <= 64

Header Parameters

Idempotency-Key*string

Required. Official clients generate a UUID when omitted by the caller.

Length1 <= length <= 255
X-Orishare-Audit-Reason*string

Required for staff authorization. Records the reason for staff access.

Length1 <= length

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/support/pricing/proposals/string/cancellations" \  -H "Idempotency-Key: string" \  -H "X-Orishare-Audit-Reason: string"
{  "id": "string",  "kind": "string",  "commands": [    {      "property1": null,      "property2": null    }  ],  "plan": {    "property1": null,    "property2": null  },  "plan_digest": "string",  "expected_revisions": [    {      "property1": null,      "property2": null    }  ],  "status": "pending",  "proposer": "string",  "audit_reason": "string",  "expires_at": "string",  "stale_reason": null,  "outcome": {    "property1": null,    "property2": null  },  "commit_id": "string",  "committed_at": "string",  "created_at": "string",  "version": -9007199254740991,  "items": [    {      "organization_id": "string",      "expected_assignment_id": "string",      "status": "pending",      "outcome": {        "property1": null,        "property2": null      },      "applied_at": "string"    }  ],  "commit": {    "id": "string",    "committer": "string",    "reason": "string",    "plan_digest": "string",    "outcome": {      "property1": null,      "property2": null    },    "created_at": "string"  }}
GET
/organizations/{id}/billing
__Secure-orishare.session_token<token>

Browser session; local and staging use their configured runtime cookie prefix.

In: cookie

Path Parameters

id*string
Length1 <= length <= 64

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/organizations/string/billing"
{  "organization_id": "string",  "mode": "test",  "status": "none",  "cancel_at_period_end": true,  "card": {    "brand": "string",    "last4": "string"  },  "authorized_at": "string",  "next_invoice_at": "string",  "period": "string",  "actions": "string",  "free_actions": "string",  "billable_actions": "string",  "estimated_amount_minor": "string",  "unbilled": {    "actions": "string",    "amount_minor": "string",    "since": "string",    "threshold_minor": "string",    "threshold_actions": "string"  },  "pricing": {    "currency": "string",    "free_actions_per_month": "string",    "rate_minor_per_thousand": "string",    "collection_threshold_minor": "string",    "max_accrual_days": -9007199254740991  },  "can_manage": true}
POST
/organizations/{id}/billing/checkout
__Secure-orishare.session_token<token>

Browser session; local and staging use their configured runtime cookie prefix.

In: cookie

Path Parameters

id*string
Length1 <= length <= 64

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/organizations/string/billing/checkout"
{  "url": "http://example.com"}
POST
/organizations/{id}/billing/portal
__Secure-orishare.session_token<token>

Browser session; local and staging use their configured runtime cookie prefix.

In: cookie

Path Parameters

id*string
Length1 <= length <= 64

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/organizations/string/billing/portal"
{  "url": "http://example.com"}