---
title: "Create a new credential binding job"
method: POST
path: "/v2/binding-jobs"
tags: ["Binding Jobs"]
---

# Create a new credential binding job

`POST /v2/binding-jobs`

## Request

- Base URL: `https://api.byndid.com`
- URL: `https://api.byndid.com/v2/binding-jobs`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/beyondidentity/apis/beyond-identity-secure-workforce-api/docs/v2/binding-jobs/post.ts> (a function with typed inputs; its response is checked against the schema)

To create a binding job, send a POST request to `/v2/binding-jobs`. Values in the
request body for read-only attributes get ignored.

## Request body

- object: Request for CreateBindingJob.
  - `binding_job` BindingJob, required: A binding job tracks the process of binding a new credential for a user.
    - `id` string: A unique identifier for the binding job that is automatically generated on creation. This field is immutable and read-only.
    - `tenant_id` string: A unique identifier for the tenant that is set automatically on creation. This field is immutable and read-only.
    - `user_id` string: ID of the user to which the credential should be bound.
    - `issuer_user_id` string: ID of the user "issuing" (creating) this binding job. May be the same as `user_id`, if this binding job was created as part of a self-service flow.
    - `delivery_method` string: Method by which the binding job is to be delivered to the end user. The only supported method is `SHORT_CODE`. New methods may be added later. This field is immutable and read-only.
    - `state` string: Indicates the state of the binding job. This field is read-only. Possible values are: - `PENDING`: The binding job is pending. - `CLAIMED`: The short code has been claimed by the end user. This does NOT mean that the binding job was successful, only that the one time short code was claimed. - `SUCCESS`: The binding job was successful.
    - `short_code_delivery_details` object: Details about the short code. Only present if `delivery_method` is `SHORT_CODE`.
      - `short_code` string: A short, human-readable code that can be used with an authenticator to bind a new credential. This should be carefully protected and only shared with the end user. This field is only present on the `CreateBindingJob` response.
      - `expire_time` string, date-time: A time value in the ISO8601 combined date and time format that represents the time the short code will expire. This field is immutable. The expire time is at most 15 minutes from the creation time of the binding job.
  - `ttl_seconds` integer: Number of seconds until the binding job expires. This must be between 1 minute (60 seconds) and 15 minutes (900 seconds). This field is used only if the `expire_time` on the requested binding job is unspecified. This field defaults to 1 minute (60 seconds).

## Response `200`

The response is a JSON object containing standard group attributes.

- BindingJob: A binding job tracks the process of binding a new credential for a user.
  - `id` string: A unique identifier for the binding job that is automatically generated on creation. This field is immutable and read-only.
  - `tenant_id` string: A unique identifier for the tenant that is set automatically on creation. This field is immutable and read-only.
  - `user_id` string: ID of the user to which the credential should be bound.
  - `issuer_user_id` string: ID of the user "issuing" (creating) this binding job. May be the same as `user_id`, if this binding job was created as part of a self-service flow.
  - `delivery_method` string: Method by which the binding job is to be delivered to the end user. The only supported method is `SHORT_CODE`. New methods may be added later. This field is immutable and read-only.
  - `state` string: Indicates the state of the binding job. This field is read-only. Possible values are: - `PENDING`: The binding job is pending. - `CLAIMED`: The short code has been claimed by the end user. This does NOT mean that the binding job was successful, only that the one time short code was claimed. - `SUCCESS`: The binding job was successful.
  - `short_code_delivery_details` object: Details about the short code. Only present if `delivery_method` is `SHORT_CODE`.
    - `short_code` string: A short, human-readable code that can be used with an authenticator to bind a new credential. This should be carefully protected and only shared with the end user. This field is only present on the `CreateBindingJob` response.
    - `expire_time` string, date-time: A time value in the ISO8601 combined date and time format that represents the time the short code will expire. This field is immutable. The expire time is at most 15 minutes from the creation time of the binding job.

## Other responses

- `400`: Bad request.
- `401`: Unauthorized.
- `403`: Forbidden.
- `404`: Not found.
- `412`: Precondition Failed
- `500`: Server error.

---

[API](https://skmtc.dev/beyondidentity/apis/beyond-identity-secure-workforce-api.md) - [All operations](https://skmtc.dev/beyondidentity/apis/beyond-identity-secure-workforce-api/llms.txt) - [OpenAPI document](https://skmtc.dev/beyondidentity/apis/beyond-identity-secure-workforce-api/revisions/562e14b2e4ba?raw)
