Repository: Infisical/infisical
File: backend/src/lib/api-docs/constants.ts (TypeScript)

Code before:
      temporaryAccessStartTime: "Time to which the temporary access starts."
    }
  },
  DELETE_IDENTITY_MEMBERSHIP: {
    identityId: "The ID of the machine identity to delete the membership from."
  },
  LIST_IDENTITY_MEMBERSHIPS: {
    offset: "The offset to start from. If you enter 10, it will start from the 10th identity membership.",
    limit: "The number of identity memberships to return.",
    identityName: "",
    roles: "The role slugs to filter identity memberships by."
  },
  GET_IDENTITY_MEMBERSHIP_BY_ID: {
    identityId: "The ID of the machine identity to get the membership for."
  },
  LIST_AVAILABLE_IDENTITIES: {
    offset: "The offset to start from. If you enter 10, it will start from the 10th identity.",
    limit: "The number of identities to return.",
    identityName: "The text string that identity membership names will be filtered by."
  }
} as const;

export const SUB_ORGANIZATIONS = {
  CREATE: {
    name: "The display name of the sub organization (e.g. 'Acme Corp'). Allows alphanumeric characters, spaces, dashes, and underscores.",
    slug: "Optional. The slug of the sub organization (e.g. 'acme-corp'). If not provided, it is auto-generated from the name. Must be lowercase with hyphens only."
  },
  UPDATE: {
    name: "Optional. The display name of the sub organization. When only name is provided (no slug), both name and slug are updated for backward compatibility.",
    slug: "Optional. The slug of the sub organization. Can be updated independently when both name and slug are provided.",
    subOrgId: "The id of the sub organization to update."
  },
  LIST: {
    limit: "The number of sub organizations to return.",
    offset: "The offset to start from. If you enter 10, it will start from the 10th sub organization.",
    isAccessible: "Filter to only return sub organizations that the actor has access to."
  }
} as const;

export const PROJECTS = {
  CREATE: {
    organizationSlug: "The slug of the organization to create the project in.",
    projectName: "The name of the project to create.",
    projectDescription: "An optional description label for the project.",
    slug: "An optional slug for the project.",
    template: "The name of the project template, if specified, to apply to this project."
  },
  DELETE: {
    projectId: "The ID of the project to delete."
  },
  GET: {

Review comment (suggestion):
nit: Let's use "sub-organization" with the hyphen, as we do in the UI

<img width="446" height="190" alt="Image" src="https://github.com/user-attachments/assets/3d7101de-a846-4351-8e7c-dfb060718641" />


```suggestion
    name: "The display name of the sub-organization (e.g. 'Acme Corp'). Allows alphanumeric characters, spaces, dashes, and underscores.",
    slug: "Optional. The slug of the sub-organization (e.g. 'acme-corp'). If not provided, it is auto-generated from the name. Must be lowercase with hyphens only."
```

Code after:
      temporaryAccessStartTime: "Time to which the temporary access starts."
    }
  },
  DELETE_IDENTITY_MEMBERSHIP: {
    identityId: "The ID of the machine identity to delete the membership from."
  },
  LIST_IDENTITY_MEMBERSHIPS: {
    offset: "The offset to start from. If you enter 10, it will start from the 10th identity membership.",
    limit: "The number of identity memberships to return.",
    identityName: "",
    roles: "The role slugs to filter identity memberships by."
  },
  GET_IDENTITY_MEMBERSHIP_BY_ID: {
    identityId: "The ID of the machine identity to get the membership for."
  },
  LIST_AVAILABLE_IDENTITIES: {
    offset: "The offset to start from. If you enter 10, it will start from the 10th identity.",
    limit: "The number of identities to return.",
    identityName: "The text string that identity membership names will be filtered by."
  }
} as const;

export const SUB_ORGANIZATIONS = {
  CREATE: {
    name: "The display name of the sub-organization (e.g. 'Acme Corp'). Allows alphanumeric characters, spaces, dashes, and underscores.",
    slug: "Optional. The slug of the sub-organization (e.g. 'acme-corp'). If not provided, it is auto-generated from the name. Must be lowercase with hyphens only."
  },
  UPDATE: {
    name: "Optional. The display name of the sub-organization. When only the name is provided (no slug), both name and slug are updated.",
    slug: "Optional. The slug of the sub-organization. Can be updated independently when both name and slug are provided.",
    subOrgId: "The id of the sub organization to update."
  },
  LIST: {
    limit: "The number of sub organizations to return.",
    offset: "The offset to start from. If you enter 10, it will start from the 10th sub organization.",
    isAccessible: "Filter to only return sub organizations that the actor has access to."
  }
} as const;

export const PROJECTS = {
  CREATE: {
    organizationSlug: "The slug of the organization to create the project in.",
    projectName: "The name of the project to create.",
    projectDescription: "An optional description label for the project.",
    slug: "An optional slug for the project.",
    template: "The name of the project template, if specified, to apply to this project."
  },
  DELETE: {
    projectId: "The ID of the project to delete."
  },
  GET: {