---
title: "Add contacts"
method: POST
path: "/characters/{character_id}/contacts"
tags: ["Contacts"]
---

# Add contacts

`POST /characters/{character_id}/contacts`

## Request

- Base URL: `https://esi.evetech.net`
- URL: `https://esi.evetech.net/characters/{character_id}/contacts`
- Auth: OAuth 2
  - Authorization code: `https://login.eveonline.com/v2/oauth/authorize`
  - Token URL: `https://login.eveonline.com/v2/oauth/token` scopes: `esi-characters.write_contacts.v1`
- TypeScript: <https://skmtc.dev/evetech/apis/eve-spring-inebriation-esi-tranquility/docs/characters/:character_id/contacts/post.ts> (a function with typed inputs; its response is checked against the schema)

Bulk add contacts with same settings

## Path parameters

- `character_id` integer, required

## Query parameters

- `label_ids` integer[]: Add custom labels to the new contact
- `standing` number, double, required: Standing for the contact
- `watched` boolean: Whether the contact should be watched, note this is only effective on characters

## Headers

- `Accept-Language` 'en' | 'de' | 'fr' | 'ja' | 'ru' | 'zh' | 'ko' | 'es'
- `If-None-Match` string
- `X-Compatibility-Date` '2025-12-16', date, required
- `X-Tenant` string
- `If-Modified-Since` string

## Request body

- integer[]

## Response `201`

Created

- integer[]: 201 created array

## Other responses

- `default`: Error

## Changes

- **2026-07-27** `0b913165e49c`: 1 info
  - added the optional property `status` to the response with the `default` status

[Operation history](https://skmtc.dev/evetech/apis/eve-spring-inebriation-esi-tranquility/changes/characters/:character_id/contacts/post.md)

---

[API](https://skmtc.dev/evetech/apis/eve-spring-inebriation-esi-tranquility.md) - [All operations](https://skmtc.dev/evetech/apis/eve-spring-inebriation-esi-tranquility/llms.txt) - [OpenAPI document](https://skmtc.dev/evetech/apis/eve-spring-inebriation-esi-tranquility/revisions/110d1a0b1dfc?raw)
