---
title: "Link a 1Password item to a credential"
method: POST
path: "/credentials/packages/{packageName}/links"
tags: ["Credentials"]
---

# Link a 1Password item to a credential

`POST /credentials/packages/{packageName}/links`

## Request

- Base URL: `https://api.mobilerun.ai`
- URL: `https://api.mobilerun.ai/credentials/packages/{packageName}/links`
- Auth: HTTP bearer

## Path parameters

- `packageName` string, required

## Request body

- object
  - `credentialName` string, required
  - `vaultId` string, required
  - `itemId` string, required
  - `fieldMap` object[], required
    - `fieldType` 'email' | 'username' | 'password' | 'api_token' | 'phone_number' | 'two_factor_secret' | 'backup_codes', required
    - `fieldId` string, required

## Response `200`

Linked credential

- object
  - `data` Credential, required
    - `ownerId` string, required
    - `createdBy` string, nullable, required
    - `userId` string, nullable, required: Deprecated: use createdBy (same value — the creating actor). Null for credentials created before rollout.
    - `packageName` string, required
    - `secretPath` string, required
    - `credentialName` string, required
    - `fields` object[], required
      - `fieldType` 'email' | 'username' | 'password' | 'api_token' | 'phone_number' | 'two_factor_secret' | 'backup_codes', required
      - `value` string, required
    - `source` 'mobilerun' | 'onepassword'
    - `link` object
      - `provider` 'onepassword', required
      - `vaultId` string, required
      - `vaultName` string, required
      - `itemId` string, required
      - `itemTitle` string, required
      - `fieldMap` object[], required
        - `fieldType` 'email' | 'username' | 'password' | 'api_token' | 'phone_number' | 'two_factor_secret' | 'backup_codes', required
        - `fieldId` string, required

## Other responses

- `400`: Bad Request — invalid_request, package_exists, create_failed, update_failed, protocol_change_not_allowed (legacy body + additive code/message), or a generic request validation failure
- `401`: Unauthorized
- `409`: Conflict (legacy body + additive code/message)
- `429`: Credential source rate limited
- `500`: Internal Server Error
- `502`: Credential source unavailable

## Changes

- **2026-10-27** `34aaeac3171f`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/droidrun/apis/droidrun-cloud/changes/credentials/packages/:packageName/links/post.md)

---

[API](https://skmtc.dev/droidrun/apis/droidrun-cloud.md) - [All operations](https://skmtc.dev/droidrun/apis/droidrun-cloud/llms.txt) - [OpenAPI document](https://skmtc.dev/droidrun/apis/droidrun-cloud/revisions/1cc95586c933?raw)
