# Creating a new Role

This endpoint returns structured Role objects.
As with all Kantata OX API endpoints, the returned data will be referenced in sorted order in the results array
and will be indexed by ID in the roles top-level JSON key.
Please see our Response Format section for more information.

Endpoint: POST /roles
Version: 1.0.0

## Query parameters:

  - `include` (string)
    Any of the below associations can be included in your request by providing the include param, e.g. include=association1,association2.
- external_references (ExternalReference) - Includes references to external integrations for this object.

## Request fields (application/json):

  - `role` (object)

  - `role.name` (string, required)
    The name of the role being created.

  - `role.external_reference` (object)
    Typically populated programmatically by a third party system via an integration, this is an optional
object that holds data from an external system. It connects objects in an external system with objects in
Kantata OX (for example, to connect a Jira issue to a Kantata OX Project).

  - `role.external_reference.service_name` (string, required)
    The provider name of the integration. If you are adding multiple external references to the same object, the service_name must be unique.

  - `role.external_reference.service_model` (string, required)
    The object type of the external object this external reference belongs to.

  - `role.external_reference.service_model_ref` (string, required)
    The object ID of the external object this external reference belongs to.

  - `role.external_reference.status` (string)
    The status of the integration. Options are successful, pending,  or failed.

  - `role.external_reference.external_message` (string)
    The message on the external object.

  - `role.external_reference.external_link` (string)
    The link to the external object.

  - `role.external_reference.external_status` (string)
    The status of the external object in the external system.

  - `role.external_reference.locked` (boolean)
    Whether the subject is locked.

## Response 200 fields (application/json):

  - `count` (integer)

  - `meta` (object)

  - `meta.count` (integer)

  - `meta.page_count` (integer)

  - `meta.page_number` (integer)

  - `meta.page_size` (integer)

  - `results` (array)

  - `results.key` (string)

  - `results.id` (string)

  - `roles` (object)

  - `external_references` (object)

## Response 400 fields (application/json):

  - `errors` (array)

  - `errors.type` (string)

  - `errors.message` (string)


