import type { SidebarsConfig } from "@docusaurus/plugin-content-docs";

const sidebar: SidebarsConfig = {
  apisidebar: [
    {
      type: "doc",
      id: "03-Pangolin/07-API/02-Routes/pangolin-integration-api",
    },
    {
      type: "category",
      label: "Organization",
      collapsible: true,
      items: [
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/get-a-site-by-org-id-and-nice-id-nice-id-is-a-readable-id-for-the-site-and-unique-on-a-per-org-basis",
          label: "Get a site by orgId and niceId. NiceId is a readable ID for the site and unique on a per org basis.",
          className: "api-method get",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/create-a-new-site",
          label: "Create a new site.",
          className: "api-method put",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/list-all-sites-in-an-organization",
          label: "List all sites in an organization",
          className: "api-method get",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/return-pre-requisite-data-for-creating-a-site-such-as-the-exit-node-subnet-newt-credentials-etc",
          label: "Return pre-requisite data for creating a site, such as the exit node, subnet, Newt credentials, etc.",
          className: "api-method get",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/get-an-organization",
          label: "Get an organization",
          className: "api-method get",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/delete-an-organization",
          label: "Delete an organization",
          className: "api-method delete",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/update-an-organization",
          label: "Update an organization",
          className: "api-method post",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/create-a-role",
          label: "Create a role.",
          className: "api-method put",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/list-roles",
          label: "List roles.",
          className: "api-method get",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/create-a-new-organization",
          label: "Create a new organization",
          className: "api-method put",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/list-all-organizations-for-a-user",
          label: "List all organizations for a user.",
          className: "api-method get",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/list-all-organizations-in-the-system",
          label: "List all organizations in the system.",
          className: "api-method get",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/create-a-resource",
          label: "Create a resource.",
          className: "api-method put",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/list-resources-for-an-organization",
          label: "List resources for an organization.",
          className: "api-method get",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/list-all-domains-for-a-organization",
          label: "List all domains for a organization.",
          className: "api-method get",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/remove-a-user-from-an-organization",
          label: "Remove a user from an organization.",
          className: "api-method delete",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/get-a-user-in-an-organization",
          label: "Get a user in an organization.",
          className: "api-method get",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/list-users-in-an-organization",
          label: "List users in an organization.",
          className: "api-method get",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/invite-a-user-to-join-an-organization",
          label: "Invite a user to join an organization.",
          className: "api-method post",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/list-invitations-in-an-organization",
          label: "List invitations in an organization.",
          className: "api-method get",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/create-a-new-client",
          label: "Create a new client.",
          className: "api-method put",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/list-all-clients-for-an-organization",
          label: "List all clients for an organization.",
          className: "api-method get",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/get-a-client-by-its-client-id",
          label: "Get a client by its client ID.",
          className: "api-method get",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/list-all-access-tokens-in-an-organization",
          label: "List all access tokens in an organization.",
          className: "api-method get",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/delete-an-api-key",
          label: "Delete an API key.",
          className: "api-method delete",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/list-all-actions-set-for-an-api-key",
          label: "List all actions set for an API key.",
          className: "api-method get",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/set-actions-for-an-api-key-this-will-replace-any-existing-actions",
          label: "Set actions for an API key. This will replace any existing actions.",
          className: "api-method post",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/list-all-api-keys-for-an-organization",
          label: "List all API keys for an organization",
          className: "api-method get",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/create-a-new-api-key-scoped-to-the-organization",
          label: "Create a new API key scoped to the organization.",
          className: "api-method put",
        },
      ],
    },
    {
      type: "category",
      label: "Site",
      collapsible: true,
      items: [
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/get-a-site-by-org-id-and-nice-id-nice-id-is-a-readable-id-for-the-site-and-unique-on-a-per-org-basis",
          label: "Get a site by orgId and niceId. NiceId is a readable ID for the site and unique on a per org basis.",
          className: "api-method get",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/get-a-site-by-site-id",
          label: "Get a site by siteId.",
          className: "api-method get",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/delete-a-site-and-all-its-associated-data",
          label: "Delete a site and all its associated data.",
          className: "api-method delete",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/update-a-site",
          label: "Update a site.",
          className: "api-method post",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/create-a-new-site",
          label: "Create a new site.",
          className: "api-method put",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/list-all-sites-in-an-organization",
          label: "List all sites in an organization",
          className: "api-method get",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/return-pre-requisite-data-for-creating-a-site-such-as-the-exit-node-subnet-newt-credentials-etc",
          label: "Return pre-requisite data for creating a site, such as the exit node, subnet, Newt credentials, etc.",
          className: "api-method get",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/list-resources-for-a-site",
          label: "List resources for a site.",
          className: "api-method get",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/return-pre-requisite-data-for-creating-a-client",
          label: "Return pre-requisite data for creating a client.",
          className: "api-method get",
        },
      ],
    },
    {
      type: "category",
      label: "Resource",
      collapsible: true,
      items: [
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/set-roles-for-a-resource-this-will-replace-all-existing-roles",
          label: "Set roles for a resource. This will replace all existing roles.",
          className: "api-method post",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/list-all-roles-for-a-resource",
          label: "List all roles for a resource.",
          className: "api-method get",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/get-a-resource",
          label: "Get a resource.",
          className: "api-method get",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/delete-a-resource",
          label: "Delete a resource.",
          className: "api-method delete",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/update-a-resource",
          label: "Update a resource.",
          className: "api-method post",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/create-a-resource",
          label: "Create a resource.",
          className: "api-method put",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/list-resources-for-a-site",
          label: "List resources for a site.",
          className: "api-method get",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/list-resources-for-an-organization",
          label: "List resources for an organization.",
          className: "api-method get",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/set-users-for-a-resource-this-will-replace-all-existing-users",
          label: "Set users for a resource. This will replace all existing users.",
          className: "api-method post",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/list-all-users-for-a-resource",
          label: "List all users for a resource.",
          className: "api-method get",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/set-the-password-for-a-resource-setting-the-password-to-null-will-remove-it",
          label: "Set the password for a resource. Setting the password to null will remove it.",
          className: "api-method post",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/set-the-pin-code-for-a-resource-setting-the-pin-code-to-null-will-remove-it",
          label: "Set the PIN code for a resource. Setting the PIN code to null will remove it.",
          className: "api-method post",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/set-email-whitelist-for-a-resource-this-will-replace-all-existing-emails",
          label: "Set email whitelist for a resource. This will replace all existing emails.",
          className: "api-method post",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/get-the-whitelist-of-emails-for-a-specific-resource",
          label: "Get the whitelist of emails for a specific resource.",
          className: "api-method get",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/transfer-a-resource-to-a-different-site-this-will-also-transfer-the-targets-associated-with-the-resource",
          label: "Transfer a resource to a different site. This will also transfer the targets associated with the resource.",
          className: "api-method post",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/create-a-resource-rule",
          label: "Create a resource rule.",
          className: "api-method put",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/delete-a-resource-rule",
          label: "Delete a resource rule.",
          className: "api-method delete",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/update-a-resource-rule",
          label: "Update a resource rule.",
          className: "api-method post",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/list-rules-for-a-resource",
          label: "List rules for a resource.",
          className: "api-method get",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/create-a-target-for-a-resource",
          label: "Create a target for a resource.",
          className: "api-method put",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/list-targets-for-a-resource",
          label: "List targets for a resource.",
          className: "api-method get",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/generate-a-new-access-token-for-a-resource",
          label: "Generate a new access token for a resource.",
          className: "api-method post",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/list-all-access-tokens-in-an-organization",
          label: "List all access tokens in an organization.",
          className: "api-method get",
        },
      ],
    },
    {
      type: "category",
      label: "Role",
      collapsible: true,
      items: [
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/set-roles-for-a-resource-this-will-replace-all-existing-roles",
          label: "Set roles for a resource. This will replace all existing roles.",
          className: "api-method post",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/list-all-roles-for-a-resource",
          label: "List all roles for a resource.",
          className: "api-method get",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/create-a-role",
          label: "Create a role.",
          className: "api-method put",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/delete-a-role",
          label: "Delete a role.",
          className: "api-method delete",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/list-roles",
          label: "List roles.",
          className: "api-method get",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/add-a-role-to-a-user",
          label: "Add a role to a user.",
          className: "api-method post",
        },
      ],
    },
    {
      type: "category",
      label: "User",
      collapsible: true,
      items: [
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/list-all-organizations-for-a-user",
          label: "List all organizations for a user.",
          className: "api-method get",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/set-users-for-a-resource-this-will-replace-all-existing-users",
          label: "Set users for a resource. This will replace all existing users.",
          className: "api-method post",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/list-all-users-for-a-resource",
          label: "List all users for a resource.",
          className: "api-method get",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/remove-a-user-from-an-organization",
          label: "Remove a user from an organization.",
          className: "api-method delete",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/get-a-user-in-an-organization",
          label: "Get a user in an organization.",
          className: "api-method get",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/list-users-in-an-organization",
          label: "List users in an organization.",
          className: "api-method get",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/add-a-role-to-a-user",
          label: "Add a role to a user.",
          className: "api-method post",
        },
      ],
    },
    {
      type: "category",
      label: "Rule",
      collapsible: true,
      items: [
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/create-a-resource-rule",
          label: "Create a resource rule.",
          className: "api-method put",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/delete-a-resource-rule",
          label: "Delete a resource rule.",
          className: "api-method delete",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/update-a-resource-rule",
          label: "Update a resource rule.",
          className: "api-method post",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/list-rules-for-a-resource",
          label: "List rules for a resource.",
          className: "api-method get",
        },
      ],
    },
    {
      type: "category",
      label: "Target",
      collapsible: true,
      items: [
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/get-a-target",
          label: "Get a target.",
          className: "api-method get",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/delete-a-target",
          label: "Delete a target.",
          className: "api-method delete",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/update-a-target",
          label: "Update a target.",
          className: "api-method post",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/create-a-target-for-a-resource",
          label: "Create a target for a resource.",
          className: "api-method put",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/list-targets-for-a-resource",
          label: "List targets for a resource.",
          className: "api-method get",
        },
      ],
    },
    {
      type: "category",
      label: "Invitation",
      collapsible: true,
      items: [
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/list-invitations-in-an-organization",
          label: "List invitations in an organization.",
          className: "api-method get",
        },
      ],
    },
    {
      type: "category",
      label: "Client",
      collapsible: true,
      items: [
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/return-pre-requisite-data-for-creating-a-client",
          label: "Return pre-requisite data for creating a client.",
          className: "api-method get",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/create-a-new-client",
          label: "Create a new client.",
          className: "api-method put",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/delete-a-client-by-its-client-id",
          label: "Delete a client by its client ID.",
          className: "api-method delete",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/update-a-client-by-its-client-id",
          label: "Update a client by its client ID.",
          className: "api-method post",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/list-all-clients-for-an-organization",
          label: "List all clients for an organization.",
          className: "api-method get",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/get-a-client-by-its-client-id",
          label: "Get a client by its client ID.",
          className: "api-method get",
        },
      ],
    },
    {
      type: "category",
      label: "Access Token",
      collapsible: true,
      items: [
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/generate-a-new-access-token-for-a-resource",
          label: "Generate a new access token for a resource.",
          className: "api-method post",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/list-all-access-tokens-in-an-organization",
          label: "List all access tokens in an organization.",
          className: "api-method get",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/list-all-access-tokens-in-an-organization",
          label: "List all access tokens in an organization.",
          className: "api-method get",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/delete-a-access-token",
          label: "Delete a access token.",
          className: "api-method delete",
        },
      ],
    },
    {
      type: "category",
      label: "Identity Provider",
      collapsible: true,
      items: [
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/create-an-oidc-id-p",
          label: "Create an OIDC IdP.",
          className: "api-method put",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/update-an-oidc-id-p",
          label: "Update an OIDC IdP.",
          className: "api-method post",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/delete-idp",
          label: "Delete IDP.",
          className: "api-method delete",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/get-an-idp-by-its-idp-id",
          label: "Get an IDP by its IDP ID.",
          className: "api-method get",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/list-all-idp-in-the-system",
          label: "List all IDP in the system.",
          className: "api-method get",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/create-an-idp-policy-for-an-existing-idp-on-an-organization",
          label: "Create an IDP policy for an existing IDP on an organization.",
          className: "api-method put",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/create-an-oidc-id-p-for-an-organization",
          label: "Create an OIDC IdP for an organization.",
          className: "api-method delete",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/update-an-idp-org-policy",
          label: "Update an IDP org policy.",
          className: "api-method post",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/list-all-org-policies-on-an-idp",
          label: "List all org policies on an IDP.",
          className: "api-method get",
        },
      ],
    },
    {
      type: "category",
      label: "API Key",
      collapsible: true,
      items: [
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/delete-an-api-key",
          label: "Delete an API key.",
          className: "api-method delete",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/list-all-actions-set-for-an-api-key",
          label: "List all actions set for an API key.",
          className: "api-method get",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/set-actions-for-an-api-key-this-will-replace-any-existing-actions",
          label: "Set actions for an API key. This will replace any existing actions.",
          className: "api-method post",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/list-all-api-keys-for-an-organization",
          label: "List all API keys for an organization",
          className: "api-method get",
        },
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/create-a-new-api-key-scoped-to-the-organization",
          label: "Create a new API key scoped to the organization.",
          className: "api-method put",
        },
      ],
    },
    {
      type: "category",
      label: "UNTAGGED",
      collapsible: true,
      items: [
        {
          type: "doc",
          id: "03-Pangolin/07-API/02-Routes/health-check",
          label: "healthCheck",
          className: "api-method get",
        },
      ],
    },
  ],
};

export default sidebar.apisidebar;
