Skip to main content

Organization

The Organization page is where you see your team: who is in it, what they can do, and how much they have used this month.

This page describes what is on the screen. For the workflows behind it (invitation rules, role changes, audit logs and the tenant-admin API), see Team Management.

Organization Overview

The header shows your organization's name, its creation date, your own role, and the current member count.

Identifiers

An Identifiers card (System IDs) holds your Organization ID and your User ID. Click either to copy it. You will need them for support requests, API debugging, and integration setup.

Billing Details

Owner and organization Admin only

Your organization records who the money is billed to — the buyer that appears on an invoice and that a payment provider is given when a card is charged. It is separate from the people in your team: changing a member's own profile never changes it.

FieldNotes
Legal nameThe registered name the invoice is made out to. Required
CountryTwo-letter ISO country code. Required
Invoice emailWhere invoice documents are sent. Required
AddressThe first address line is required. A second line, the city and the postal code are optional
Tax IDOptional. Individuals and customers outside jurisdictions that issue one may leave it blank

Owners and organization admins can read and edit all of it. Members cannot see it.

A complete profile is required before a card payment

The details are counted complete when the legal name, the country, the invoice email and the first address line are all filled in and none of them is blank. The tax ID is not part of that test.

Until they are complete, a card payment cannot be taken. If you start a payment with the details missing, you are asked to fill them in as part of that payment rather than being sent somewhere else and made to start over. See Billing for the payment flow itself.

API

# Read
curl https://api.bulutistan.ai/api/v1/tenant-admin/billing-profile \
-H "Authorization: Bearer <your-jwt-token>"

# Update
curl -X PATCH https://api.bulutistan.ai/api/v1/tenant-admin/billing-profile \
-H "Authorization: Bearer <your-jwt-token>" \
-H "Content-Type: application/json" \
-d '{
"billing_legal_name": "Example Industries Ltd.",
"billing_country": "TR",
"billing_email": "invoices@example.com",
"billing_address_line1": "123 Example Street"
}'

Both require a JWT session held by an owner or an organization admin. The read returns every field together with a complete flag, so a client can decide whether to prompt for the missing details before starting a payment. PATCH is a partial update: a field you omit is left alone, and a field sent as null or as an empty string is cleared.

Members

Member List

ColumnDescription
NameMember name
EmailEmail address
RoleOwner, Admin, or Member
StatusActive, Pending, or Suspended
JoinedJoin date
UsageRequests and tokens for this member

Per-Member Usage

Each member row carries a usage line covering this month to date, under the note "Usage shown per member for this month to date (UTC)."

  • A member who has produced nothing reads "No usage this month", not "0 requests". The distinction matters: it tells you the member is idle, not that a number failed to load.
  • When the lookup itself fails, the row reads "Usage figures unavailable". The member's usage is unknown, not zero.
No money on this screen

Member rows show volume only: requests and tokens. No per-member cost is displayed anywhere on this page.

If you need cost attributed per member, use the usage export, which does carry a cost column. Organization-level spend lives on Billing, and the fuller breakdowns on Usage.

Roles

RolePermissions
OwnerFull access, cannot be removed, can transfer ownership
AdminManage members, invites and settings
MemberAPI access, viewing their own usage
CapabilityOwnerAdminMember
Create API keys
View own usage
View billingLimited
Manage members
Change roles
Transfer ownership

Team Management describes each role in full.

Inviting Members

Admin or Owner only

  1. Click Invite Member
  2. Enter the email address
  3. Select a role
  4. Click Send Invite
One email, one account

A person belongs to exactly one organization. Inviting someone who is already in your organization is refused and says so. Inviting an address that already has an account in another organization looks like it succeeded, but nothing is sent — the form deliberately gives nothing away about who is on the platform. See One email, one account.

Invite emails

Invites sent from this page use the User Invite template, and the subject reads "{inviter_name} invited you to join {organization_name} on {platform_name}". Invites initiated by a platform administrator use a separate Admin Invite template.

Rate-limited invites

Invites are protected by layered email rate limits (per-recipient, per-actor, per-organization, and global). If a burst trips any cap, the page shows "Too many emails sent to this address recently. Please try again later." with a hint on when to retry. The invite row itself is still created, so you can resend it once the window clears.

Pending Invites

Pending invitations are listed with their expiry dates. Each row offers:

  • Resend sends a fresh link to a pending, still-valid invite. This invalidates the previous link
  • Cancel Invite withdraws the invitation

Clean up expired removes every expired invite in one step. It leaves pending, still-valid invites untouched.

Expired invitations cannot be resent; cancel them and send a new invitation instead. See Resending Invitations for the rules and cooldowns.

Did the invitation email actually go out?

Each pending invitation carries a second badge, next to its Pending or Expired state, saying what happened to the email:

BadgeMeaning
SendingThe email is on its way out.
SentThe email was handed to our mail provider.
DelayedIt has not gone out yet and we are still trying.
Not deliveredIt will not be sent.
(no badge)Nothing is known about this invitation's email — usually an older invitation. It is not a failure.

Delayed and Not delivered are followed by a short sentence explaining what to do:

  • "Delivery is delayed and we are still trying. The invitation link stays valid."
  • "This invitation is no longer valid — it expired, was accepted, was cancelled, or a newer invitation replaced it. Create a new invitation if this person still needs access."

Hover a badge to see when the last attempt was made.

None of this is about the recipient's mailbox

These badges describe our side of the send. They never tell you an address was wrong or that a mailbox rejected anything. If an invitation reads Sent and the person still has nothing, the next steps are their spam folder and One email, one account — not this badge.

Resend confirms with "Invitation queued — the invitation email has been queued for delivery. Delivery is not confirmed yet." The badge then updates itself a moment later, without a page reload, so you can see what became of it.

Managing Members

Admin or Owner only

Open a member's actions to reach:

ActionEffect
Suspend UserRevokes access immediately. The account and its data are kept
Activate UserRestores access to a suspended member
Unlock UserClears a lock caused by too many failed sign-in attempts, without waiting for it to expire
warning

Suspension is how a member is removed from active use: the account is suspended, not deleted. Their API keys are not deleted either, but keys belonging to a suspended member fail verification for as long as the suspension is in effect. Reactivating the member restores both.

Change Role

Owner only

  1. Find the member in the list
  2. Open the role control
  3. Select the new role
  4. Confirm the change

Admins cannot promote or demote anyone; only the owner can change roles.

Transferring Ownership

Ownership transfer is API-only; there is no transfer control in the portal UI. The current owner calls:

POST /api/v1/tenant-admin/transfer-ownership
Authorization: Bearer <token>
Content-Type: application/json

{
"new_owner_id": "user-uuid-here"
}

The new owner must already be a member of the organization. After the transfer, the previous owner becomes an admin.

danger

This action is irreversible. The new owner will have full control.

Audit Logs

Admin or Owner only

Organization activity (invitations, removals, role changes, suspensions and ownership transfers) is recorded and viewable from this page. See Audit Logs for the fields and the API.