# developer.torii Documentation ## Guides - [Determine AI Module Classification (AI Native / AI Enabled / No AI / Not Known / Not Applicable)](https://developers.toriihq.com/docs/determine-ai-module-classification-ai-native-ai-enabled-no-ai-not-known-not-applicable.md): Intelligently classify whether an application is AI Native, AI Enabled, No AI, Not Known, or Not Applicable by prioritizing Torii tag metadata and enhancing accuracy with GPT plus web-backed validation. - [Determine Hosting Type (SaaS / On-Prem / PaaS / Not Known / Not Applicable)](https://developers.toriihq.com/docs/determine-hosting-type-saas-on-prem-paas-not-known-not-applicable.md): Automatically classify an application's hosting model—SaaS, On-Prem, PaaS, Not Known, or Not Applicable—using a structured AI (GPT) Action and persist the result directly to Application Details via the Update App API. - [Determine SSO Classification (Yes / No / Not Supported / Not Known)](https://developers.toriihq.com/docs/determine-sso-classification-yes-no-not-supported-not-known-1.md): Automatically classify whether a discovered application has SSO enabled, supports SSO but is not integrated, does not support SSO, or cannot be reliably determined—using a structured AI (GPT) Action and updating the result directly in Torii. - [Quickstart - AI GPT Actions](https://developers.toriihq.com/docs/quickstart-gpt-actions.md): A curated library of reusable, workflow-ready GPT prompts you can drop into Torii AI (GPT) Actions to automate decisions and enrich app data with predictable, structured outputs. - [Add User to Glassfrog](https://developers.toriihq.com/docs/add-user-to-glassfrog.md) - [Adding Users to Distribution Lists using Azure Runbooks](https://developers.toriihq.com/docs/adding-users-to-distribution-lists-using-azure-runbooks.md): Using Torii Custom Actions to trigger Azure Runbooks - [Disable SwaggerHub User](https://developers.toriihq.com/docs/disable-swaggerhub-user.md): User Management for SwaggerHub - [Invite User to SwaggerHub Organizations](https://developers.toriihq.com/docs/invite-user-to-swagger-hub-organization.md): User Management for Swaggerhub - [Lattice - Create Lattice User](https://developers.toriihq.com/docs/lattice-create-lattice-user.md): Create a user in Lattice using a custom action that makes a request using the SCIM protocol - [Lattice - Disable User](https://developers.toriihq.com/docs/lattice-disable-user.md): Disable a Lattice user using a two step custom action with the SCIM protocol - [Figma → Torii via Google Sheets (Enterprise Column Set)](https://developers.toriihq.com/docs/custom-integration-figma-enterprise.md): This guide updates the original Google Sheets example to reflect **Figma Enterprise** exports and a simplified, reliable seat-type–based license model. The upload and sync flow uses Torii’s Files and Services APIs. - [Quickstart - Introduction to Custom Integrations](https://developers.toriihq.com/docs/introduction-to-custom-applications.md): Build your first custom integration in 10 minutes. - [Stripe - Custom Integration Example](https://developers.toriihq.com/docs/stripe-custom-integration-example.md): Using Google Sheets - [Zapier - Custom Integration Example (Workspace ONE)](https://developers.toriihq.com/docs/zapier-custom-integration-example-workspace-one.md): This provides an example of a custom integration built with Zapier - [Download All Files](https://developers.toriihq.com/docs/download-all-files.md): A node.js script that downloads all files uploaded to Torii - [Setup Powershell Actions for Torii](https://developers.toriihq.com/docs/setup-powershell-actions-for-torii.md): Torii Integration for Azure Advanced Automation - [GET /contracts migration guide (v1.0 → v1.1)](https://developers.toriihq.com/docs/get-contracts-migration-guide-v10-v11.md): This guide describes what changes between `X-API-Version: 1.0` and `X-API-Version: 1.1` of the `GET /contracts` and `GET /contracts/{idContract}` endpoints, so you can migrate your integration safely. - [Automating Expense Data Imports into Torii](https://developers.toriihq.com/docs/automating-expense-data-imports-into-torii-with-n8n-and-workato.md): Learn how to automate expense data imports into Torii using n8n and Workato. Get the API steps, see real-world workflows, and take away best practices to accelerate your own financial data integrations. - [Bulk configure app details](https://developers.toriihq.com/docs/bulk-configuration-of-app-metadata.md): Bulk configuration of app meta during on-boarding - [Bulk configure multiple owners for apps](https://developers.toriihq.com/docs/bulk-configure-multiple-app-owners.md): Bulk configuration of app meta during on-boarding - [Creating an inactive licenses report using the API](https://developers.toriihq.com/docs/checking-for-inactive-licenses-using-the-api.md): How to use the Torii API to build a dataset for a report that can be used by popular BI tools such as Tableau and Power BI - [Modifying the Update App Details Example](https://developers.toriihq.com/docs/modifying-the-update-app-details-example.md): This guide provides instructions on how to update the Bulk Configure App Details to incorporate your own fields - [Monitoring Torii Workflow Failures with Workato](https://developers.toriihq.com/docs/monitoring-torii-workflow-failures-with-workato.md): This guide walks you through building a Workato Ruby code step that fetches **workflow action execution logs** from Torii, detects failed steps, and prepares the data for routing to platforms like **ServiceNow** or **email notifications**. - [Trigger Access Request Workflow from Atlassian Automation](https://developers.toriihq.com/docs/trigger-access-request-workflow-from-atlassian-automation.md): Demo and config steps to trigger an access request workflow from JIRA - [Updating App Details using the API](https://developers.toriihq.com/docs/updating-app-details-using-the-api.md): This guide describes how to retrieve the list of apps in your organization and update app details - [Updating Contract Details using the API](https://developers.toriihq.com/docs/updating-contract-details-using-the-api.md): This guide describes how to retrieve the list of contracts in your organization and update their details - [Find “SSO Tax” Risks in Your SaaS Portfolio with the Torii API](https://developers.toriihq.com/docs/find-sso-tax-risks-in-your-saas-portfolio-with-google-sheets-torii-api.md): Many organizations only discover late in the buying cycle that core security features (like SSO, SCIM, audit logs) sit behind higher-tier plans. This guide shows how to build a Google Sheets + Apps Script workflow that calls the Torii API to inventory your applications and flag vendors from a curated “SSO tax” reference list. You’ll get a timestamped, filterable report you can use to prioritize reviews and bring evidence to vendor conversations.. - [Build - Base Dashboard Skills for ChatGPT ](https://developers.toriihq.com/docs/base-dashboarding-skills-for-chatgpt.md): ChatGPT skills package to build customizable dashboards using the Torii MCP - [Build - Agent Skill Package](https://developers.toriihq.com/docs/build-agent-skill-package.md): Scheduled and refresh-oriented wrapper for Torii dashboards in ChatGPT - [Build - Custom GPT Skill Package](https://developers.toriihq.com/docs/custom-gpt-skill-package.md): A controlled, repeatable dashboard assistant for Software Asset Management - [Connect ChatGPT to Torii](https://developers.toriihq.com/docs/connect-chatgpt-to-torii.md): Using the Torii web MCP for for Dashboarding - [Design - Organizational drill downs](https://developers.toriihq.com/docs/organizational-drill-downs.md): Design Drilldowns for Departments, Business Units, Legal Entities, and Other Slices - [Choose - Plain ChatGPT, Custom GPT Wrapper or Agent Wrapper](https://developers.toriihq.com/docs/plain-chatgpt-custom-gpt-wrapper-or-agent-wrapper.md): Package the experience based on your use case - this guide helps you choose - [Design - Read-Only SaaS Rationalization Dashboard](https://developers.toriihq.com/docs/read-only-saas-rationalization-dashboard.md): Design a Read-Only SaaS Rationalization Dashboard in ChatGPT with Torii MCP - [Build — Base Dashboard Skill for Claude](https://developers.toriihq.com/docs/build-base-dashboard-skill-for-claude.md): The shared foundation for read-only Torii dashboards across all Claude deployment surfaces - [Build — Cowork Skill Package](https://developers.toriihq.com/docs/build-cowork-skill-package.md): A controlled, repeatable on-demand dashboard assistant for Software Asset Management — Cowork deployment - [Build — Scheduled Dashboard Refresh](https://developers.toriihq.com/docs/build-scheduled-dashboard-refresh.md): Scheduled and refresh-oriented deployment for Torii dashboards — Cowork, Claude Code, and API options - [Choose — Your Claude Deployment Model for Torii Dashboards](https://developers.toriihq.com/docs/choose-your-claude-deployment-model-for-torii-dashboards.md): Match your packaging to your use case — from a quick chat to a fully automated agent - [Design - Organizational Drill-Downs](https://developers.toriihq.com/docs/design-organizational-drill-downs.md): Design drilldowns for Departments, Business Units, Legal Entities, and other slices - [Design — Read-Only SaaS Rationalization Dashboard](https://developers.toriihq.com/docs/design-read-only-saas-rationalization-dashboard.md): Design a read-only SaaS rationalization dashboard in Claude with Torii MCP - [Connect Claude to Torii](https://developers.toriihq.com/docs/connect-claude-to-torii.md): Using the Torii MCP across Claude's deployment surfaces - [Setup Guide - Torii Financial Intelligence on Claude](https://developers.toriihq.com/docs/setup-guide-torii-financial-intelligence-on-claude-cowork.md): A SaaS portfolio dashboard and a NetSuite spend accuracy report, both running in your Claude, pulling data directly from your Torii tenant via MCP. - [Application Fields](https://developers.toriihq.com/docs/application-fields.md) - [Field Types](https://developers.toriihq.com/docs/field-types.md) - [Getting Started](https://developers.toriihq.com/docs/getting-started-1.md) - [Build a Plugin](https://developers.toriihq.com/docs/build-a-plugin.md) - [Manifest](https://developers.toriihq.com/docs/manifest.md) - [Operating a Plugin](https://developers.toriihq.com/docs/operating-a-plugin.md) - [Widgets](https://developers.toriihq.com/docs/widgets.md) - [Hello World Plugin](https://developers.toriihq.com/docs/hello-world-plugin.md) - [Torii CLI](https://developers.toriihq.com/docs/torii-cli.md): Torii CLI is an OpenAPI-driven command line interface for the Torii API. ## API Reference - [Aggregations](https://developers.toriihq.com/reference/aggregations.md) - [API Authentication](https://developers.toriihq.com/reference/api-authentication.md): How to authenticate to the Torii API - [Errors](https://developers.toriihq.com/reference/errors.md) - [Filters](https://developers.toriihq.com/reference/filters.md) - [Introduction](https://developers.toriihq.com/reference/introduction-1.md) - [OpenAPI](https://developers.toriihq.com/reference/openapi-documentation.md) - [Pagination](https://developers.toriihq.com/reference/pagination.md) - [Rate limits](https://developers.toriihq.com/reference/rate-limits.md) - [Create user anonymization request](https://developers.toriihq.com/reference/postanonymizerequest.md):

Create new user anonymization request.

email the email that should be anonymized.

fields the user fields to anonymized.

- [List access request policies](https://developers.toriihq.com/reference/getappcatalogaccessrequestpolicies.md): Returns the organization’s access request policies.

Use the `fields` query parameter to choose which fields to return — e.g. `fields=id,name,app,approvalFlow,eligibilityGroups`.

- [List access request policies eligible for a user](https://developers.toriihq.com/reference/getappcatalogaccessrequestpolicieseligible.md): Returns the access request policies the specified user is eligible to request for the given app.

- [Request access on user behalf](https://developers.toriihq.com/reference/postappcatalogaccessrequestpoliciesidaccessrequestpolicytrigger.md): Triggers an access request for the specified policy on behalf of the user identified by `userEmail`.

Eligibility is enforced: the request fails with 400 NOT_ELIGIBLE_FOR_POLICY if the user is not a member of the policy’s eligibility groups.

- [Bulk request access on user behalf](https://developers.toriihq.com/reference/postappcatalogaccessrequestpoliciestrigger.md): Triggers an access request for each of the specified policies on behalf of the user identified by `userEmail`.

Each policy is processed independently, so some may succeed while others are rejected.

- [Delete field](https://developers.toriihq.com/reference/deleteappsfieldsidfield.md): Delete app field

- [List app fields](https://developers.toriihq.com/reference/getappsfields.md): Returns a list of app fields with their options.

- [List app fields metadata](https://developers.toriihq.com/reference/getappsmetadata.md): List apps fields (predefined and custom).

The list of options for dropdown and multi dropdown fields is not provided by this API.

You can search by field name or key.

- [Create a new field](https://developers.toriihq.com/reference/postappsfields.md): Create a new app field

- [Update field](https://developers.toriihq.com/reference/putappsfieldsidfield.md): Update app field

- [List application users](https://developers.toriihq.com/reference/getappsidappusers.md):

- [List apps](https://developers.toriihq.com/reference/getapps.md): Returns a list of apps used in the organization.




Filtering is available via the documented query parameters below and by [custom application fields](https://app.toriihq.com/team/settings/appDetails).

Example:

```GET /apps?fields=id,name,myCustomField&state=discovered&myCustomField=true```

The above example returns a list of applications that are in `discovered` state and `myCustomField` is true. Each application object will contain the `id`, `name` and `myCustomField` fields.

Use `includeLicenses=true` to include aggregated license summary for each app.

- [Get app](https://developers.toriihq.com/reference/getappsidapp.md): Returns a specific app.




Example:

```GET /apps/1?fields=id,name,myCustomField&state=discovered&myCustomField=true```

The above example returns app with id=1. Each application object will contain the `id`, `name` and `myCustomField` fields.

Use `includeLicenses=true` to include aggregated license summary.

- [Search apps](https://developers.toriihq.com/reference/getappssearch.md): Returns a list of apps from Torii's catalog with name that contains q

- [Add app](https://developers.toriihq.com/reference/postapps.md):

- [Create app](https://developers.toriihq.com/reference/postappscustom.md):

- [Match apps](https://developers.toriihq.com/reference/postappsmatch.md): Try to match a list of apps by their name

- [Update app](https://developers.toriihq.com/reference/putappsidapp.md): Update app fields including all custom fields defined via [custom Application Details](https://app.toriihq.com/team/settings/appDetails)

- [Get admin audit logs](https://developers.toriihq.com/reference/getaudit.md): The Audit Log API allows the user to pull Audit Log events happening in the organization account.
The API is sorted based on creationTime and supports pagination. The default sort order is descending.
Filtering is possible using the following attributes: entity, startTime, endTime
If you encounter an HTTP 502 error, ensure that gzip compression is enabled (Accept-Encoding: gzip), if possible. Additionally, try reducing the size parameter to help resolve the issue.

- [Delete contract](https://developers.toriihq.com/reference/deletecontractsidcontract.md):

- [List contracts](https://developers.toriihq.com/reference/getcontracts.md): Returns a list of contracts in the organization.


This endpoint has two versions: 1.0 and 1.1. The default version is 1.0 for API keys created before Aug 1st 2026 and 1.1 for keys created after Aug 1st 2026. You can specify the version via the `X-API-Version` header to override.


Filtering



Filter contracts by passing each field as its own query parameter. Multiple filters are combined with AND. Values are matched by exact equality — partial match, range, and comparator operators are not supported on this endpoint.

Supported filter fields: `id`, `idApp`, `createdBy`, `status`, and any [custom contract field](https://app.toriihq.com/team/settings/contractDetails) system key.

Example:

```GET /contracts?fields=id,name,idApp,status,myCustomField&status=active&idApp=123&myCustomField=true```

The above returns contracts where `status=active` AND `idApp=123` AND `myCustomField=true`.


Query params are different per version:

Query paramSupported in versionDescriptionDefault value
fieldsv1.0, v1.1List of fields to return for each contract(no value)
qv1.1 onlyThe query to search(no value)
sortv1.1 onlySort order(no value)
sizev1.1 onlyNumber of results to return (max: 1000)1000
cursorv1.1 onlyCursor for pagination(no value)
aggsv1.1 onlyAggregation configuration(no value)
filtersv1.1 onlyThe filters to apply (JSON string)(no value)


Multi-currency support



All currency fields are returned in their original amounts based on the contract currency. To get the contract currency, add `currency` to `fields`.

Example:

```GET /contracts?fields=id,name,amount,currency```

- [Get contract](https://developers.toriihq.com/reference/getcontractsidcontract.md):

- [Create contract](https://developers.toriihq.com/reference/postcontracts.md): Creates a new contract.

The request body must contain the name, idApp, and status of the contract.

Dates should be sent in ISOString format. Example: "2022-02-03"

Currency fields (e.g., `amount`) can be numbers (`"amount": 1500`, uses org default currency) or objects to set a different currency: `"amount": { "value": 23000000, "currency": "EUR" }`. Cannot set `currency` as a top-level field.

- [Update contract](https://developers.toriihq.com/reference/putcontractsidcontract.md): Updates an existing contract.

Currency fields (e.g., `amount`) can be numbers (`"amount": 1500`, uses org default currency) or objects to set a different currency: `"amount": { "value": 23000000, "currency": "EUR" }`. Cannot set `currency` as a top-level field.

- [List contract fields](https://developers.toriihq.com/reference/getcontractsfields.md): Returns a list of contract fields with their options.

- [List contract fields metadata](https://developers.toriihq.com/reference/getcontractsmetadata.md): List contract fields (predefined and custom).

The list of options for dropdown and multi dropdown fields is not provided by this API.

You can search by field name or key.

- [Get file information](https://developers.toriihq.com/reference/getfilesid.md):

Use the following code snippet to get the information of a file that was uploaded to Torii

curl -H "Authorization: Bearer API_KEY" "https://api.toriihq.com/v1.0/files/{FILE_ID}"
curl -H "Authorization: Bearer API_KEY" "https://api.toriihq.com/v1.0/files/1000"

- [Download file](https://developers.toriihq.com/reference/getfilesiddownload.md):

Use the following code snippet to download a file that was uploaded to Torii

curl -L -H "Authorization: Bearer API_KEY" -o {OUTPUT_FILE_NAME} "https://api.toriihq.com/v1.0/files/{FILE_ID}/download"
curl -L -H "Authorization: Bearer API_KEY" -o downloaded_file.json "https://api.toriihq.com/v1.0/files/1000/download"

- [Get parameters for uploading files](https://developers.toriihq.com/reference/getfilesurl.md):
This API is part of a series of API calls you need to make to upload a file to our system.
Click here to see the APIs alongside code examples using cURL
  1. This API. It returns a URL (used in step #2) and the file's path (used in step #3): curl -H "Authorization: Bearer API_KEY" "https://api.toriihq.com/v1.0/files/url?name={FILE_NAME}&type={CONTENT_TYPE}"
    curl -H "Authorization: Bearer API_KEY" "https://api.toriihq.com/v1.0/files/url?name=my_file.json&type=text/csv"
  2. Use the URL returned to upload the file directly to S3: curl -H "Content-Type: {CONTENT_TYPE}" --data-binary @'PATH/TO/YOUR/FILE' -X PUT "{S3_URL}"
    curl -H "Content-Type: text/csv" --data-binary @'~/Downloads/my_file.json' -X PUT "{S3_URL}"
  3. Look for the 'Store file information in DB' API or use the following code snippet: curl -d '{"path":"{FILE_PATH}","type":"{FILE_TYPE}"}' -H "Authorization: Bearer API_KEY" -H "Content-Type: application/json" "https://api.toriihq.com/v1.0/files"
    curl -d '{"path":"1629889604893/my_file.json","type":"expenseReport"}' -H "Authorization: Bearer API_KEY" -H "Content-Type: application/json" "https://api.toriihq.com/v1.0/files"

- [Store file information in DB](https://developers.toriihq.com/reference/postfiles.md):
This API is part of a series of API calls you need to make to upload a file to our system.
Click here to see the APIs alongside code examples using cURL
  1. Look for the 'Get parameters for uploading files' API or use the following code snippet: curl -H "Authorization: Bearer API_KEY" "https://api.toriihq.com/v1.0/files/url?name={FILE_NAME}&type={CONTENT_TYPE}"
    curl -H "Authorization: Bearer API_KEY" "https://api.toriihq.com/v1.0/files/url?name=my_file.json&type=text/csv"
  2. Use the URL returned to upload the file directly to S3. curl -H "Content-Type: {CONTENT_TYPE}" --data-binary @'PATH/TO/YOUR/FILE' -X PUT "{S3_URL}"
    curl -H "Content-Type: text/csv" --data-binary @'~/Downloads/my_file.json' -X PUT "{S3_URL}"
  3. This API. It returns a unique file identifier. curl -d '{"path":"{FILE_PATH}","type":"{FILE_TYPE}"}' -H "Authorization: Bearer API_KEY" -H "Content-Type: application/json" "https://api.toriihq.com/v1.0/files"
    curl -d '{"path":"1629889604893/my_file.json","type":"expenseReport"}' -H "Authorization: Bearer API_KEY" -H "Content-Type: application/json" "https://api.toriihq.com/v1.0/files"

- [Upload file (up to 3MB)](https://developers.toriihq.com/reference/postfilesupload.md):

This API allows to upload small files (up to 3MB). To upload larger files, see the GET /files/url endpoint.

Supported files: .csv, .xls, .xlsx, .pdf, .doc, .docx, .png, .jpg, .jpeg, .xml, .json, .zip.

- [Create a custom integration account](https://developers.toriihq.com/reference/postservicescustom.md): Provisions a new custom integration account for the given app and returns its id.

- [Sync custom integration](https://developers.toriihq.com/reference/putservicessynccustom.md):
Use the following code snippet to validate an uploaded data file and sync a custom integration
curl -X PUT -d '{"idFile":"{FILE_ID}", "idAppAccount": "{APP_ACCOUNT_ID}"}' -H "Authorization: Bearer API_KEY" -H "Content-Type: application/json" "https://api.toriihq.com/v1.0/services/sync/custom"
File schema Default values are marked in red
  1. users - Array [required] - Must have at least 1 valid user
  2. User object:
  3. licenses - Array [optional]
  4. License object:
File example
  {   "users": [     {       "id: "15893",       "email": "adam@example.com",       "firstName": "Adam",       "lastName": "Test",       "status": "active",       "externalStatus": "Active",       "roles": ["Admin", "Super admin"],       "lastUsedDate": "2021-07-05T20:43:14Z"     },     {       "id": "39471",       "email": "tony@example.com",       "firstName": "Tony",       "lastName": "Example",       "status": "active",       "externalStatus": "Deactivated",       "roles": ["Member"],       "lastUsedDate": "2021-05-05T14:43:14Z"     }   ],   "licenses": [     {       "name": "Pro",       "unassignedAmount": 10,       "users": [         {           "email": "adam@example.com",           "licenseStatus": "active"         }       ],       "pricePerUser": 15000     },     {       "name": "Basic",       "unassignedAmount": 5,       "users": [],       "pricePerUser": 0     },     {       "name": "Corp",       "unassignedAmount": 20,       "users": [         {           "email": "tony@example.com",           "licenseStatus": "inactive"         }       ],       "pricePerUser": 20000     }   ] }

- [Sync Gluu custom integration](https://developers.toriihq.com/reference/putservicessyncgluu.md):
Use the following code snippet to sync your Gluu integration
curl -X PUT -d '{"idFile":"{FILE_ID}", "idAppAccount": "{APP_ACCOUNT_ID}"}' -H "Authorization: Bearer API_KEY" -H "Content-Type: application/json" "https://api.toriihq.com/v1.0/services/sync/gluu"

- [Get organization](https://developers.toriihq.com/reference/getorgsmy.md): Returns the organization profile.

- [Get parse request](https://developers.toriihq.com/reference/getparsingsid.md):

Use the following code snippet to get the information of a parse request

curl -H "Authorization: Bearer API_KEY" "https://api.toriihq.com/v1.0/parsings/{PARSING_ID}"
Request status will be one of the following

- [Parse automatically](https://developers.toriihq.com/reference/putparsingsautomatic.md):

Use the following code snippet to parse an expense file with automatic column matching:

curl -X PUT -d '{"idFile":"{FILE_ID}"}' -H "Authorization: Bearer API_KEY" "https://api.toriihq.com/v1.0/parsings/automatic"

IMPORTANT

After sending a parse request, make sure to poll https://api.toriihq.com/v1.0/parsings/{PARSING_ID} to verify that the request was successful

- [Parse manually](https://developers.toriihq.com/reference/putparsingsmanual.md):
Use the following code snippet to parse an expense file with manual column matching:
curl -X PUT -d '{"parseConfig":{"idFile":"{FILE_ID}","transactionDateColumn":"A","descriptionColumn":"B", "amountColumn":"C", "dateFormat": "DD/MM/YYYY", "currencyColumn":"D"}}' -H "Authorization: Bearer API_KEY" -H "Content-Type: application/json" "https://api.toriihq.com/v1.0/parsings/manual"

IMPORTANT

After sending a parse request, make sure to poll https://api.toriihq.com/v1.0/parsings/{PARSING_ID} to verify that the request was successful

- [Delete plugin](https://developers.toriihq.com/reference/deletepluginsuuidplugin.md):

- [List plugin fields](https://developers.toriihq.com/reference/getpluginsidpluginfields.md): Returns a list of plugin fields with their associated idField.

- [Create plugin](https://developers.toriihq.com/reference/postplugins.md):

- [Generate an API key for a private plugin](https://developers.toriihq.com/reference/postpluginsuuidpluginapikey.md): This API is only available for private plugins installed on the organization. This will revoke any previous API keys associated with the plugin.

- [Update plugin (publish new version)](https://developers.toriihq.com/reference/putpluginsuuidplugin.md):

- [List roles](https://developers.toriihq.com/reference/getroles.md): Returns the list of roles in the organization

- [Delete User](https://developers.toriihq.com/reference/deletescimv2usersiduser.md): Delete Torii user

- [List Resource Types](https://developers.toriihq.com/reference/getscimv2resourcetypes.md): Returns the available resource types in the SCIM API.

- [List Schemas](https://developers.toriihq.com/reference/getscimv2schemas.md): Returns the available resource types schemas, with attributes information.

- [Get Service Provider Configuration](https://developers.toriihq.com/reference/getscimv2serviceproviderconfig.md): Returns Torii's SCIM Configuration.

- [List Users](https://developers.toriihq.com/reference/getscimv2users.md): Retrieve all the active users in Torii.
Active users can log in to Torii and/or the App Catalog and/or the Browser Extension.

- [Get User By ID](https://developers.toriihq.com/reference/getscimv2usersiduser.md): Returns the user associated with the user's ID.

- [Update user (PATCH)](https://developers.toriihq.com/reference/patchscimv2usersiduser.md): Update Torii user