---
title: "Upsert Agency Group Candidate Metadata"
method: PUT
path: "/agency-group/{agency_group_id}/candidate/{candidate_id}/meta"
tags: ["Agency Group Candidate Meta"]
---

# Upsert Agency Group Candidate Metadata

`PUT /agency-group/{agency_group_id}/candidate/{candidate_id}/meta`

## Request

- Base URL: `http://localhost:3010/v1`
- URL: `http://localhost:3010/v1/agency-group/{agency_group_id}/candidate/{candidate_id}/meta`
- Auth: HTTP basic and HTTP basic and HTTP basic

Upserts the Metadata for agency group candidate

## Request body

- AgencyGroupCandidateMetaUpsertDef
  - `last_contacted_at` string, date-time, nullable
  - `dbs_status` string
  - `external_documents` ExternalDocumentsItem[]
    - `name` string, required
    - `type_id` string, required
    - `date` string, date-time, required
    - `expiry_date` string, date-time
  - `external_portfolios` ExternalPortfoliosItem[]
    - `portfolio_id` string, required
    - `consultant_type_id` string, required
    - `consultant_id` string, required
    - `played_keywords` boolean, required
    - `agencies` string[]
  - `external_verifications` ExternalVerificationsItem[]
    - `name` string, required
    - `type_id` string, required
    - `value` 'Yes' | 'No', required
  - `external_days_to_expiry` ExternalDaysToExpiryItem[]
    - `name` string, required
    - `type_id` string, required
    - `value` string, date-time
  - `external_workforce` string

## Response `200`

Agency Group Candidate metadata response

- AgencyGroupCandidateMetaRetrieval
  - `_id` string, required
  - `updated_at` string, date-time, required
  - `created_at` string, date-time, required
  - `__v` integer, required
  - `agency_group_id` string, required
  - `candidate_id` string, required
  - `username` string
  - `last_contacted_at` string, date-time
  - `dbs_status` string
  - `external_documents` ExternalDocumentsItem[]
    - `name` string, required
    - `type_id` string, required
    - `date` string, date-time, required
    - `expiry_date` string, date-time
  - `external_portfolios` ExternalPortfoliosItem[]
    - `portfolio_id` string, required
    - `consultant_type_id` string, required
    - `consultant_id` string, required
    - `played_keywords` boolean, required
    - `agencies` string[]
  - `external_verifications` ExternalVerificationsItem[]
    - `name` string, required
    - `type_id` string, required
    - `value` 'Yes' | 'No', required
  - `external_days_to_expiry` ExternalDaysToExpiryItem[]
    - `name` string, required
    - `type_id` string, required
    - `value` string, date-time
  - `external_workforce` string

## Other responses

- `400`: Agency group candidate metadata validation errors during upsert
- `401`: Failed to authenticate the user making the request
- `403`: Permission denied error
- `default`: Server error occurred

---

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