---
title: "Create A New Completion"
method: POST
path: "/api/v2/completions"
tags: ["Completion"]
---

# Create A New Completion

`POST /api/v2/completions`

This endpoint creates a new completion for the user in the organization and content available to the organization. If the organization is a Global Admin Tool Organization or a provider requesting on behalf of the organization, completions can be created for Tenant Organization users and content available within the organization structure. Global Admin Tool Organization should exercise caution when indicating which content the user has completed. <br><br>For Global Admin Tool Organizations, if the user of the completion belongs to a Tenant Organization, then the `X-Degreed-Organization-Code` header can be provided, but is no longer necessary and may limit the content for which the completion can be created.<h3>Required Scope</h3>`completions:write`

## Headers

- `X-Degreed-Organization-Code` string

## Request body

- V2CompletionsBody
  - `data` Apiv2completionsData
    - `type` string
    - `attributes` Apiv2completionsDataAttributes
      - `user-id` string, required — The unique ID of the user who completed it.
      - `user-identifier-type` string, required — Can be any of `UserId`, `Email`, `EmployeeId`, `AliasUid`, `LookupId`, or `AliasEmail`.
      - `content-id` string, required — Unique ID identifying the content.
      - `content-id-type` string, required — Can be any of `ExternalId`, `Id`, or `ContentUrl`.
      - `content-type` string, nullable, required — Can be any of `Article`, `Book`, `Course`, `Event`, `Podcast`, `Task`, `Video` or `Assessment`.
      - `completed-at` string, date-time, required — Date when the completion was created (For a `Task` the server sets `completed-at` date and it cannot be overriden.)
      - `is-verified` boolean — The completion is verified.
      - `questions-correct` integer — Specific to `Assessments`. Number of questions answered correctly.
      - `percentile` number, double — Specific to `Assessments`. The user's percentile.

## Response `201`

Success

- PostedCompletion
  - `data` PostedCompletionData
    - `type` string
    - `id` string
    - `attributes` PostedCompletionDataAttributes
      - `user-id` string — The unique ID of the user who completed it.
      - `user-identifier-type` string — Can be any of `UserId`, `Email`, `EmployeeId`, `AliasUid`, `LookupID`, or `AliasEmail`.
      - `content-id` string — Unique ID identifying the content.
      - `content-id-type` string — Can be any of `ExternalId`, `Id`, or `ContentUrl`.
      - `content-type` string, nullable — Can be any of `Article`, `Book`, `Course`, `Event`, `Podcast`, `Task`, `Video` or `Assessment`.
      - `completed-at` string, date-time — Date when the completion was created (For a `Task` the server sets `completed-at` date and it cannot be overriden.) (UTC)
      - `is-verified` boolean — The completion is verified.
      - `questions-correct` integer — Specific to `Assessments`. Number of questions answered correctly.
      - `percentile` number, double — Specific to `Assessments`. The user's percentile.
      - `duration` number, double
      - `involvement-level` string
    - `links` SelfLink
      - `self` string

---

[API](https://skmtc.net/degreed/apis/degreed-api-web.md) · [All operations](https://skmtc.net/degreed/apis/degreed-api-web/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/degreed/degreed-api-web/revisions/4a22b709515c/schema)
