---
descriptions:
  create_role:
    slug: >
      A unique key to reference the role. Must be lowercase and contain only
      letters, numbers, hyphens, and underscores.
    name: A name for the role.
    description: An optional description for the role.
    resource_type_slug: >-
      The slug of the [resource type](/fga/resource-types) to scope the role to.
      Only applicable when using [Fine-Grained Authorization](/fga). Defaults to
      the organization resource type if not provided.
reference:
  curl:
    - key: create_role
      id: create_role
      url: /reference/roles/role/create
      title: /authorization/roles
      type: POST
      parameters:
        - key: slug
          type: string
          description: (create_role.slug)
        - key: name
          type: string
          description: (create_role.name)
        - key: description
          type: string
          optional: true
          description: (create_role.description)
        - key: resource_type_slug
          type: string
          optional: true
          description: (create_role.resource_type_slug)
      returns:
        - (role)
  js:
    - key: createRole
      id: create_role
      url: /reference/roles/role/create
      title: authorization.createRole()
      parameters:
        - key: options
          type: object
          unwrap: true
          properties:
            - key: slug
              type: string
              description: (create_role.slug)
            - key: name
              type: string
              description: (create_role.name)
            - key: description
              type: string
              optional: true
              description: (create_role.description)
            - key: resourceTypeSlug
              type: string
              optional: true
              description: (create_role.resource_type_slug)
      returns:
        - key: Role
          description: (role.self)
  python:
    - key: create_role
      id: create_role
      url: /reference/roles/role/create
      title: authorization.create_role()
      parameters:
        - key: slug
          type: str
          description: (create_role.slug)
        - key: name
          type: str
          description: (create_role.name)
        - key: description
          type: str
          optional: true
          description: (create_role.description)
        - key: resource_type_slug
          type: str
          optional: true
          description: (create_role.resource_type_slug)
      returns:
        - key: Role
          description: (role.self)
originalPath: .tmp-workos-clone/packages/docs/content/reference/roles/role/create.mdx
---

## Create an environment role

Create a new environment role.

The `slug` must be unique across all environment roles and can only contain lowercase letters, numbers, hyphens, and underscores.

<Callout type="info">
  New roles are placed at the bottom of the priority order.
</Callout>

<CodeBlock referenceId="create_role">
  <CodeBlockTab title="Request" file="create-role-request" />
  <CodeBlockTab title="Response" file="create-role-response" />
</CodeBlock>
