---
title: "Create a single issue."
method: POST
path: "/issues"
tags: ["Issues"]
---

# Create a single issue.

`POST /issues`

## Request

- Base URL: `https://api.samsara.com`
- URL: `https://api.samsara.com/issues`
- Auth: HTTP bearer

Creates a new issue associated with an asset, with optional media attachments uploaded inline as base64.

 <b>Rate limit:</b> 100 requests/min (learn more about rate limits <a href="https://developers.samsara.com/docs/rate-limits" target="_blank">here</a>).

To use this endpoint, select **Write Issues** under the Forms category when creating or editing an API token. <a href="https://developers.samsara.com/docs/authentication#scopes-for-api-tokens" target="_blank">Learn More.</a>
 

 **Submit Feedback**: Likes, dislikes, and API feature requests should be filed as feedback in our <a href="https://forms.gle/zkD4NCH7HjKb7mm69" target="_blank">API feedback form</a>. If you encountered an issue or noticed inaccuracies in the API documentation, please <a href="https://www.samsara.com/help" target="_blank">submit a case</a> to our support team.

## Request body

- IssuesPostIssueRequestBody: Issue fields to create.
  - `asset` PostIssueRequestBodyAssetRequestBody, required: Asset the issue is associated with.
    - `id` string, required: ID of the asset. Can be either a unique Samsara ID or an [external ID](https://developers.samsara.com/docs/external-ids) for the asset.
  - `assignedTo` PostIssueRequestBodyAssignedToRequestBody: Issue assignee.
    - `id` string, required: ID of the issue assignee.
    - `type` 'user', required: Type of the issue assignee. Valid values: `user`
  - `description` string: Description of the issue.
  - `dueDate` string, date-time: Due date of the issue. UTC timestamp in RFC 3339 format.
  - `externalIds` object: A map of external ids
  - `media` FormSubmissionRequestMediaItemObjectRequestBody[]: Media items to attach to the issue.
    - `base64Payload` string, required: Base64-encoded binary content of the media.
    - `mediaType` string, required: MIME type of the media.
  - `priority` 'low' | 'medium' | 'high': Priority of the issue. Valid values: `low`, `medium`, `high`
  - `status` 'open' | 'inProgress' | 'resolved' | 'dismissed': Status of the issue. Defaults to `open` when omitted. Valid values: `open`, `inProgress`, `resolved`, `dismissed`
  - `title` string, required: Title of the issue.

## Response `201`

Created response.

- IssuesPostIssueResponseBody
  - `data` IssueResponseObjectResponseBody, required: Issue response object.
    - `asset` FormsAssetObjectResponseBody: Tracked or untracked (i.e. manually entered) asset object.
      - `entryType` 'tracked' | 'untracked', required: The type of entry for the asset. Valid values: `tracked`, `untracked`
      - `externalIds` object: A map of external ids
      - `id` string: ID of a tracked asset. Included if 'entryType' is `tracked`.
      - `name` string: Name of an untracked (i.e. manually entered) asset.
    - `assignedTo` FormsPolymorphicUserObjectResponseBody: User or driver object.
      - `id` string, required: ID of the polymorphic user.
      - `type` 'driver' | 'user', required: The type of the polymorphic user. Valid values: `driver`, `user`
    - `createdAtTime` string, date-time, required: Creation time of the issue. UTC timestamp in RFC 3339 format.
    - `description` string: Description of the issue. Included if the issue was given a description.
    - `dueDate` string, date-time: Due date of the issue. UTC timestamp in RFC 3339 format. Included if the issue was assigned a due date.
    - `externalIds` object: A map of external ids
    - `id` string, required: ID of the issue.
    - `issueSource` IssueSourceObjectResponseBody, required: Contains information about where an issue came from.
      - `id` string: ID of the issue's source object. The format depends on the 'type'. Included if 'type' is not 'ad-hoc'.
      - `type` 'form' | 'ad-hoc', required: The type of issue source. Valid values: `form`, `ad-hoc`
    - `mediaList` FormsMediaRecordObjectResponseBody[]: List of media objects for the issue. Included if the issue has media.
      - `id` string, uuid, required: ID of the media record.
      - `processingStatus` 'unknown' | 'processing' | 'finished', required: Status of the media record. Valid values: `unknown`, `processing`, `finished`
      - `url` string, uri: URL containing a link to associated media content. Included if 'processingStatus' is 'finished'.
      - `urlExpiresAt` string, date-time: Expiration time of the media record 'url'. UTC timestamp in RFC 3339 format.
    - `priority` 'low' | 'medium' | 'high': Priority of the issue. Included if the issue was assigned a priority. Valid values: `low`, `medium`, `high`
    - `status` 'open' | 'inProgress' | 'resolved' | 'dismissed', required: Status of the issue. Valid values: `open`, `inProgress`, `resolved`, `dismissed`
    - `submittedAtTime` string, date-time, required: Submission time of the issue. UTC timestamp in RFC 3339 format.
    - `submittedBy` FormsPolymorphicUserObjectResponseBody, required: User or driver object.
      - `id` string, required: ID of the polymorphic user.
      - `type` 'driver' | 'user', required: The type of the polymorphic user. Valid values: `driver`, `user`
    - `title` string, required: Title of the issue.
    - `updatedAtTime` string, date-time, required: Update time of the issue. UTC timestamp in RFC 3339 format.

## Other responses

- `401`: Unauthorized response.
- `404`: Not Found response.
- `405`: Method Not Allowed response.
- `413`: Content Too Large response.
- `429`: Too Many Requests response.
- `500`: Internal Server Error response.
- `501`: Not Implemented response.
- `502`: Bad Gateway response.
- `503`: Service Unavailable response.
- `504`: Gateway Timeout response.
- `default`: Bad Request response.

---

[API](https://skmtc.dev/samsara/apis/samsara-api.md) - [All operations](https://skmtc.dev/samsara/apis/samsara-api/llms.txt) - [OpenAPI document](https://skmtc.dev/samsara/apis/samsara-api/revisions/a9e35d4999be?raw)
