CCP Games Character API
The Character API from CCP Games — 14 operation(s) for character.
The Character API from CCP Games — 14 operation(s) for character.
openapi: 3.1.0
info:
contact:
name: ESI Support
url: https://developers.eveonline.com/docs/support/
license:
name: EVE Developer License
url: https://developers.eveonline.com/license-agreement
termsOfService: https://support.eveonline.com/hc/en-us/articles/8414770561948-EVE-Online-Terms-of-Service
title: EVE Swagger Incineration (ESI) - tranquility Alliance Character API
version: '2020-01-01'
servers:
- url: https://esi.evetech.net
tags:
- name: Character
paths:
/characters/affiliation:
post:
description: Bulk lookup of character IDs to corporation, alliance and faction
operationId: PostCharactersAffiliation
parameters:
- $ref: '#/components/parameters/AcceptLanguage'
- $ref: '#/components/parameters/IfNoneMatch'
- $ref: '#/components/parameters/CompatibilityDate'
- $ref: '#/components/parameters/Tenant'
- $ref: '#/components/parameters/IfModifiedSince'
requestBody:
content:
application/json:
schema:
items:
description: character integer
format: int64
type: integer
maxItems: 1000
minItems: 1
type: array
uniqueItems: true
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CharactersAffiliationPost'
description: OK
headers:
Cache-Control:
$ref: '#/components/headers/CacheControl'
ETag:
$ref: '#/components/headers/ETag'
Last-Modified:
$ref: '#/components/headers/LastModified'
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Error
summary: Character affiliation
tags:
- Character
x-cache-age: 3600
x-compatibility-date: '2020-01-01'
/characters/{character_id}:
get:
description: Public information about a character
operationId: GetCharactersCharacterId
parameters:
- description: The ID of the character
in: path
name: character_id
required: true
schema:
$ref: '#/components/schemas/CharacterID'
description: The ID of the character
- $ref: '#/components/parameters/AcceptLanguage'
- $ref: '#/components/parameters/IfNoneMatch'
- $ref: '#/components/parameters/CompatibilityDate'
- $ref: '#/components/parameters/Tenant'
- $ref: '#/components/parameters/IfModifiedSince'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CharactersDetail'
description: OK
headers:
Cache-Control:
$ref: '#/components/headers/CacheControl'
ETag:
$ref: '#/components/headers/ETag'
Last-Modified:
$ref: '#/components/headers/LastModified'
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Error
summary: Get character's public information
tags:
- Character
x-cache-age: 86400
x-cache-mode: event-based
x-compatibility-date: '2020-01-01'
/characters/{character_id}/agents_research:
get:
description: 'Return a list of agents research information for a character. The formula for finding the current research points with an agent is: currentPoints = remainderPoints + pointsPerDay * days(currentTime - researchStartDate)'
operationId: GetCharactersCharacterIdAgentsResearch
parameters:
- description: The ID of the character
in: path
name: character_id
required: true
schema:
$ref: '#/components/schemas/CharacterID'
- $ref: '#/components/parameters/AcceptLanguage'
- $ref: '#/components/parameters/IfNoneMatch'
- $ref: '#/components/parameters/CompatibilityDate'
- $ref: '#/components/parameters/Tenant'
- $ref: '#/components/parameters/IfModifiedSince'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CharactersCharacterIdAgentsResearchGet'
description: OK
headers:
Cache-Control:
$ref: '#/components/headers/CacheControl'
ETag:
$ref: '#/components/headers/ETag'
Last-Modified:
$ref: '#/components/headers/LastModified'
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Error
security:
- OAuth2:
- esi-characters.read_agents_research.v1
summary: Get agents research
tags:
- Character
x-cache-age: 3600
x-compatibility-date: '2020-01-01'
x-rate-limit:
group: char-industry
max-tokens: 600
window-size: 15m
/characters/{character_id}/blueprints:
get:
description: Return a list of blueprints the character owns
operationId: GetCharactersCharacterIdBlueprints
parameters:
- description: The ID of the character
in: path
name: character_id
required: true
schema:
$ref: '#/components/schemas/CharacterID'
- in: query
name: page
schema:
description: Which page of results to return.
format: int32
minimum: 1
type: integer
- $ref: '#/components/parameters/AcceptLanguage'
- $ref: '#/components/parameters/IfNoneMatch'
- $ref: '#/components/parameters/CompatibilityDate'
- $ref: '#/components/parameters/Tenant'
- $ref: '#/components/parameters/IfModifiedSince'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CharactersCharacterIdBlueprintsGet'
description: OK
headers:
Cache-Control:
$ref: '#/components/headers/CacheControl'
ETag:
$ref: '#/components/headers/ETag'
Last-Modified:
$ref: '#/components/headers/LastModified'
X-Pages:
description: The total number of pages in the result set.
schema:
format: int64
type: integer
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Error
security:
- OAuth2:
- esi-characters.read_blueprints.v1
summary: Get blueprints
tags:
- Character
x-cache-age: 3600
x-compatibility-date: '2020-01-01'
x-rate-limit:
group: char-industry
max-tokens: 600
window-size: 15m
/characters/{character_id}/corporationhistory:
get:
description: Get a list of all the corporations a character has been a member of
operationId: GetCharactersCharacterIdCorporationhistory
parameters:
- description: The ID of the character
in: path
name: character_id
required: true
schema:
$ref: '#/components/schemas/CharacterID'
- $ref: '#/components/parameters/AcceptLanguage'
- $ref: '#/components/parameters/IfNoneMatch'
- $ref: '#/components/parameters/CompatibilityDate'
- $ref: '#/components/parameters/Tenant'
- $ref: '#/components/parameters/IfModifiedSince'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CharactersCharacterIdCorporationhistoryGet'
description: OK
headers:
Cache-Control:
$ref: '#/components/headers/CacheControl'
ETag:
$ref: '#/components/headers/ETag'
Last-Modified:
$ref: '#/components/headers/LastModified'
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Error
summary: Get corporation history
tags:
- Character
x-cache-age: 86400
x-compatibility-date: '2020-01-01'
/characters/{character_id}/cspa:
post:
description: Takes a source character ID in the url and a set of target character ID's in the body, returns a CSPA charge cost
operationId: PostCharactersCharacterIdCspa
parameters:
- description: The ID of the character
in: path
name: character_id
required: true
schema:
$ref: '#/components/schemas/CharacterID'
- $ref: '#/components/parameters/AcceptLanguage'
- $ref: '#/components/parameters/IfNoneMatch'
- $ref: '#/components/parameters/CompatibilityDate'
- $ref: '#/components/parameters/Tenant'
- $ref: '#/components/parameters/IfModifiedSince'
requestBody:
content:
application/json:
schema:
items:
description: character integer
format: int64
type: integer
maxItems: 100
minItems: 1
type: array
uniqueItems: true
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/CharactersCharacterIdCspaPost'
description: Created
headers:
Cache-Control:
$ref: '#/components/headers/CacheControl'
ETag:
$ref: '#/components/headers/ETag'
Last-Modified:
$ref: '#/components/headers/LastModified'
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Error
security:
- OAuth2:
- esi-characters.read_contacts.v1
summary: Calculate a CSPA charge cost
tags:
- Character
x-compatibility-date: '2020-01-01'
x-rate-limit:
group: char-detail
max-tokens: 600
window-size: 15m
/characters/{character_id}/fatigue:
get:
description: Return a character's jump activation and fatigue information
operationId: GetCharactersCharacterIdFatigue
parameters:
- description: The ID of the character
in: path
name: character_id
required: true
schema:
$ref: '#/components/schemas/CharacterID'
- $ref: '#/components/parameters/AcceptLanguage'
- $ref: '#/components/parameters/IfNoneMatch'
- $ref: '#/components/parameters/CompatibilityDate'
- $ref: '#/components/parameters/Tenant'
- $ref: '#/components/parameters/IfModifiedSince'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CharactersCharacterIdFatigueGet'
description: OK
headers:
Cache-Control:
$ref: '#/components/headers/CacheControl'
ETag:
$ref: '#/components/headers/ETag'
Last-Modified:
$ref: '#/components/headers/LastModified'
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Error
security:
- OAuth2:
- esi-characters.read_fatigue.v1
summary: Get jump fatigue
tags:
- Character
x-cache-age: 300
x-compatibility-date: '2020-01-01'
x-rate-limit:
group: char-location
max-tokens: 1200
window-size: 15m
/characters/{character_id}/medals:
get:
description: Return a list of medals the character has
operationId: GetCharactersCharacterIdMedals
parameters:
- description: The ID of the character
in: path
name: character_id
required: true
schema:
$ref: '#/components/schemas/CharacterID'
- $ref: '#/components/parameters/AcceptLanguage'
- $ref: '#/components/parameters/IfNoneMatch'
- $ref: '#/components/parameters/CompatibilityDate'
- $ref: '#/components/parameters/Tenant'
- $ref: '#/components/parameters/IfModifiedSince'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CharactersCharacterIdMedalsGet'
description: OK
headers:
Cache-Control:
$ref: '#/components/headers/CacheControl'
ETag:
$ref: '#/components/headers/ETag'
Last-Modified:
$ref: '#/components/headers/LastModified'
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Error
security:
- OAuth2:
- esi-characters.read_medals.v1
summary: Get medals
tags:
- Character
x-cache-age: 3600
x-compatibility-date: '2020-01-01'
x-rate-limit:
group: char-detail
max-tokens: 600
window-size: 15m
/characters/{character_id}/notifications:
get:
description: Return character notifications
operationId: GetCharactersCharacterIdNotifications
parameters:
- description: The ID of the character
in: path
name: character_id
required: true
schema:
$ref: '#/components/schemas/CharacterID'
- $ref: '#/components/parameters/AcceptLanguage'
- $ref: '#/components/parameters/IfNoneMatch'
- $ref: '#/components/parameters/CompatibilityDate'
- $ref: '#/components/parameters/Tenant'
- $ref: '#/components/parameters/IfModifiedSince'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CharactersCharacterIdNotificationsGet'
description: OK
headers:
Cache-Control:
$ref: '#/components/headers/CacheControl'
ETag:
$ref: '#/components/headers/ETag'
Last-Modified:
$ref: '#/components/headers/LastModified'
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Error
security:
- OAuth2:
- esi-characters.read_notifications.v1
summary: Get character notifications
tags:
- Character
x-cache-age: 600
x-compatibility-date: '2020-01-01'
x-rate-limit:
group: char-notification
max-tokens: 15
window-size: 15m
/characters/{character_id}/notifications/contacts:
get:
description: Return notifications about having been added to someone's contact list
operationId: GetCharactersCharacterIdNotificationsContacts
parameters:
- description: The ID of the character
in: path
name: character_id
required: true
schema:
$ref: '#/components/schemas/CharacterID'
- $ref: '#/components/parameters/AcceptLanguage'
- $ref: '#/components/parameters/IfNoneMatch'
- $ref: '#/components/parameters/CompatibilityDate'
- $ref: '#/components/parameters/Tenant'
- $ref: '#/components/parameters/IfModifiedSince'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CharactersCharacterIdNotificationsContactsGet'
description: OK
headers:
Cache-Control:
$ref: '#/components/headers/CacheControl'
ETag:
$ref: '#/components/headers/ETag'
Last-Modified:
$ref: '#/components/headers/LastModified'
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Error
security:
- OAuth2:
- esi-characters.read_notifications.v1
summary: Get new contact notifications
tags:
- Character
x-cache-age: 600
x-compatibility-date: '2020-01-01'
x-rate-limit:
group: char-social
max-tokens: 600
window-size: 15m
/characters/{character_id}/portrait:
get:
description: 'Get portrait urls for a character
This route expires daily at 11:05'
operationId: GetCharactersCharacterIdPortrait
parameters:
- description: The ID of the character
in: path
name: character_id
required: true
schema:
$ref: '#/components/schemas/CharacterID'
- $ref: '#/components/parameters/AcceptLanguage'
- $ref: '#/components/parameters/IfNoneMatch'
- $ref: '#/components/parameters/CompatibilityDate'
- $ref: '#/components/parameters/Tenant'
- $ref: '#/components/parameters/IfModifiedSince'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CharactersCharacterIdPortraitGet'
description: OK
headers:
Cache-Control:
$ref: '#/components/headers/CacheControl'
ETag:
$ref: '#/components/headers/ETag'
Last-Modified:
$ref: '#/components/headers/LastModified'
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Error
summary: Get character portraits
tags:
- Character
x-compatibility-date: '2020-01-01'
x-rate-limit:
group: char-detail
max-tokens: 600
window-size: 15m
/characters/{character_id}/roles:
get:
description: Returns a character's corporation roles
operationId: GetCharactersCharacterIdRoles
parameters:
- description: The ID of the character
in: path
name: character_id
required: true
schema:
$ref: '#/components/schemas/CharacterID'
- $ref: '#/components/parameters/AcceptLanguage'
- $ref: '#/components/parameters/IfNoneMatch'
- $ref: '#/components/parameters/CompatibilityDate'
- $ref: '#/components/parameters/Tenant'
- $ref: '#/components/parameters/IfModifiedSince'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CharactersCharacterIdRolesGet'
description: OK
headers:
Cache-Control:
$ref: '#/components/headers/CacheControl'
ETag:
$ref: '#/components/headers/ETag'
Last-Modified:
$ref: '#/components/headers/LastModified'
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Error
security:
- OAuth2:
- esi-characters.read_corporation_roles.v1
summary: Get character corporation roles
tags:
- Character
x-cache-age: 3600
x-compatibility-date: '2020-01-01'
x-rate-limit:
group: char-detail
max-tokens: 600
window-size: 15m
/characters/{character_id}/standings:
get:
description: Return character standings from agents, NPC corporations, and factions
operationId: GetCharactersCharacterIdStandings
parameters:
- description: The ID of the character
in: path
name: character_id
required: true
schema:
$ref: '#/components/schemas/CharacterID'
- $ref: '#/components/parameters/AcceptLanguage'
- $ref: '#/components/parameters/IfNoneMatch'
- $ref: '#/components/parameters/CompatibilityDate'
- $ref: '#/components/parameters/Tenant'
- $ref: '#/components/parameters/IfModifiedSince'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CharactersCharacterIdStandingsGet'
description: OK
headers:
Cache-Control:
$ref: '#/components/headers/CacheControl'
ETag:
$ref: '#/components/headers/ETag'
Last-Modified:
$ref: '#/components/headers/LastModified'
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Error
security:
- OAuth2:
- esi-characters.read_standings.v1
summary: Get standings
tags:
- Character
x-cache-age: 3600
x-compatibility-date: '2020-01-01'
x-rate-limit:
group: char-social
max-tokens: 600
window-size: 15m
/characters/{character_id}/titles:
get:
description: Returns a character's titles
operationId: GetCharactersCharacterIdTitles
parameters:
- description: The ID of the character
in: path
name: character_id
required: true
schema:
$ref: '#/components/schemas/CharacterID'
- $ref: '#/components/parameters/AcceptLanguage'
- $ref: '#/components/parameters/IfNoneMatch'
- $ref: '#/components/parameters/CompatibilityDate'
- $ref: '#/components/parameters/Tenant'
- $ref: '#/components/parameters/IfModifiedSince'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CharactersCharacterIdTitlesGet'
description: OK
headers:
Cache-Control:
$ref: '#/components/headers/CacheControl'
ETag:
$ref: '#/components/headers/ETag'
Last-Modified:
$ref: '#/components/headers/LastModified'
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Error
security:
- OAuth2:
- esi-characters.read_titles.v1
summary: Get character corporation titles
tags:
- Character
x-cache-age: 3600
x-compatibility-date: '2020-01-01'
x-rate-limit:
group: char-detail
max-tokens: 600
window-size: 15m
components:
schemas:
CharactersCharacterIdCspaPost:
description: 201 created number
format: double
type: number
CharactersCharacterIdPortraitGet:
properties:
px128x128:
type: string
px256x256:
type: string
px512x512:
type: string
px64x64:
type: string
type: object
CharactersCharacterIdBlueprintsGet:
items:
properties:
item_id:
description: Unique ID for this item.
format: int64
type: integer
location_flag:
description: Type of the location_id
enum:
- AutoFit
- Cargo
- CorpseBay
- DroneBay
- FleetHangar
- Deliveries
- HiddenModifiers
- Hangar
- HangarAll
- LoSlot0
- LoSlot1
- LoSlot2
- LoSlot3
- LoSlot4
- LoSlot5
- LoSlot6
- LoSlot7
- MedSlot0
- MedSlot1
- MedSlot2
- MedSlot3
- MedSlot4
- MedSlot5
- MedSlot6
- MedSlot7
- HiSlot0
- HiSlot1
- HiSlot2
- HiSlot3
- HiSlot4
- HiSlot5
- HiSlot6
- HiSlot7
- AssetSafety
- Locked
- Unlocked
- Implant
- QuafeBay
- RigSlot0
- RigSlot1
- RigSlot2
- RigSlot3
- RigSlot4
- RigSlot5
- RigSlot6
- RigSlot7
- ShipHangar
- SpecializedFuelBay
- SpecializedOreHold
- SpecializedGasHold
- SpecializedMineralHold
- SpecializedSalvageHold
- SpecializedShipHold
- SpecializedSmallShipHold
- SpecializedMediumShipHold
- SpecializedLargeShipHold
- SpecializedIndustrialShipHold
- SpecializedAmmoHold
- SpecializedCommandCenterHold
- SpecializedPlanetaryCommoditiesHold
- SpecializedMaterialBay
- SubSystemSlot0
- SubSystemSlot1
- SubSystemSlot2
- SubSystemSlot3
- SubSystemSlot4
- SubSystemSlot5
- SubSystemSlot6
- SubSystemSlot7
- FighterBay
- FighterTube0
- FighterTube1
- FighterTube2
- FighterTube3
- FighterTube4
- Module
type: string
location_id:
description: References a station, a ship or an item_id if this blueprint is located within a container. If the return value is an item_id, then the Character AssetList API must be queried to find the container using the given item_id to determine the correct location of the Blueprint.
format: int64
type: integer
material_efficiency:
description: Material Efficiency Level of the blueprint.
format: int64
type: integer
quantity:
description: A range of numbers with a minimum of -2 and no maximum value where -1 is an original and -2 is a copy. It can be a positive integer if it is a stack of blueprint originals fresh from the market (e.g. no activities performed on them yet).
format: int64
type: integer
runs:
description: Number of runs remaining if the blueprint is a copy, -1 if it is an original.
format: int64
type: integer
time_efficiency:
description: Time Efficiency Level of the blueprint.
format: int64
type: integer
type_id:
format: int64
type: integer
required:
- item_id
- type_id
- location_id
- location_flag
- quantity
- time_efficiency
- material_efficiency
- runs
type: object
type: array
CharactersCharacterIdAgentsResearchGet:
items:
properties:
agent_id:
format: int64
type: integer
points_per_day:
format: double
type: number
remainder_points:
format: double
type: number
skill_type_id:
format: int64
type: integer
started_at:
format: date-time
type: string
required:
- agent_id
- skill_type_id
- started_at
- points_per_day
- remainder_points
type: object
type: array
Error:
properties:
details:
description: List of individual error details.
items:
$ref: '#/components/schemas/ErrorDetail'
type: array
error:
description: Error message.
type: string
required:
- error
type: object
BloodlineID:
examples:
- 1
format: int64
type: integer
x-common-model: 'true'
CharacterID:
examples:
- 90000001
format: int64
type: integer
x-common-model: 'true'
CharactersCharacterIdStandingsGet:
items:
properties:
from_id:
format: int64
type: integer
from_type:
enum:
- agent
- npc_corp
- faction
type: string
standing:
format: double
type: number
required:
- from_id
- from_type
- standing
type: object
type: array
CharactersCharacterIdNotificationsContactsGet:
items:
properties:
message:
type: string
notification_id:
format: int64
type: integer
send_date:
format: date-time
type: string
sender_character_id:
format: int64
type: integer
standing_level:
description: 'A number representing the standing level the receiver has been added at by the sender. The standing levels are as follows: -10 -> Terrible | -5 -> Bad | 0 -> Neutral | 5 -> Good | 10 -> Excellent'
format: double
type: number
required:
- notification_id
- send_date
- standing_level
- message
- sender_character_id
type: object
type: array
ErrorDetail:
properties:
location:
description: Where the error occurred, e.g. 'body.items[3].tags' or 'path.thing-id'
type: string
message:
description: Error message text
type: string
value:
description: The value at the given location
type: object
CharactersCharacterIdCorporationhistoryGet:
items:
properties:
corporation_id:
format: int64
type: integer
is_deleted:
description: True if the corporation has been deleted
type: boolean
record_id:
description: An incrementing ID that can be used to canonically establish order of records in cases where dates may be ambiguous
format: int64
type: integer
start_date:
format: date-time
type: string
required:
- start_date
- corporation_id
- record_id
type: object
type: array
CharactersCharacterIdRolesGet:
properties:
roles:
items:
description: role string
enum:
- Account_Take_1
- Account_Take_2
- Account_Take_3
- Account_Take_4
- Account_Take_5
- Account_Take_6
- Account_Take_7
- Accountant
- Auditor
- Brand_Manager
- Communications_Officer
- Config_Equipment
- Config_Starbase_Equipment
- Container_Take_1
- Container_Take_2
- Container_Take_3
- Container_Take_4
- Container_Take_5
- Container_Take_6
- Container_Take_7
- Contract_Manager
- Deliveries_Container_Take
- Deliveries_Query
- Deliveries_Take
- Diplomat
- Director
- Factory_Manager
- Fitting_Manager
- Hangar_Query_1
- Hangar_Query_2
- Hangar_Query_3
- Hangar_Query_4
- Hangar_Query_5
- Hangar_Query_6
- Hangar_Query_7
- Hangar_Take_1
- Hangar_Take_2
- Hangar_Take_3
- Hangar_Take_4
- Hangar_Take_5
- Hangar_Take_6
- Hangar_Take_7
- Junior_Accountant
- Personnel_Manager
- Project_Manager
- Rent_Factory_Facility
- Rent_Office
- Rent_Research_Facility
- Security_Officer
- Skill_Plan_Manager
- Starbase_Defense_Operator
- Starbase_Fuel_Technician
- Station_Manager
- Trader
type: string
type: array
uniqueItems: true
roles_at_base:
items:
description: roles_at_base string
enum:
- Account_Take_1
- Account_Take_2
- Accou
# --- truncated at 32 KB (58 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/ccp-games/refs/heads/main/openapi/ccp-games-character-api-openapi.yml