CCP Games Skills API

The Skills API from CCP Games — 3 operation(s) for skills.

Operations 3

GET /characters/{character_id}/attributes Get character attributes #
GET /characters/{character_id}/skillqueue Get character's skill queue #
GET /characters/{character_id}/skills Get character skills #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/ccp-games-skills-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

ccp-games-skills-api-openapi.yml Raw ↑
openapi: 3.2.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 Skills API
  version: '2020-01-01'
servers:
- url: https://esi.evetech.net
tags:
- name: Skills
paths:
  /characters/{character_id}/attributes:
    get:
      description: Return attributes of a character
      operationId: GetCharactersCharacterIdAttributes
      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/CharactersCharacterIdAttributesGet'
          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-skills.read_skills.v1
      summary: Get character attributes
      tags:
      - Skills
      x-cache-age: 120
      x-compatibility-date: '2020-01-01'
      x-rate-limit:
        group: char-detail
        max-tokens: 600
        window-size: 15m
  /characters/{character_id}/skillqueue:
    get:
      description: 'List the configured skill queue for the given character.


        Entries that have their finish time in the past are completed, but aren''t updated in the "/skills" route

        yet. This will happen the next time the character logs in.'
      operationId: GetCharactersCharacterIdSkillqueue
      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:
                items:
                  $ref: '#/components/schemas/CharactersSkillqueueSkill'
                type: array
          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-skills.read_skillqueue.v1
      summary: Get character's skill queue
      tags:
      - Skills
      x-cache-age: 60
      x-cache-mode: event-based
      x-compatibility-date: '2020-01-01'
      x-rate-limit:
        group: char-detail
        max-tokens: 600
        window-size: 15m
  /characters/{character_id}/skills:
    get:
      description: 'List all trained skills for the given character.


        Skills returned by this route can be out-of-date if the character hasn''t logged in since one or more skills

        completed training. Use the /skillqueue route to check for skills that completed training. Entries that are

        in the past need to be applied on top of this list to get an accurate view of the character''s current skills.'
      operationId: GetCharactersCharacterIdSkills
      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/CharactersSkills'
          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-skills.read_skills.v1
      summary: Get character skills
      tags:
      - Skills
      x-cache-age: 60
      x-cache-mode: event-based
      x-compatibility-date: '2020-01-01'
      x-rate-limit:
        group: char-detail
        max-tokens: 600
        window-size: 15m
components:
  schemas:
    CharactersSkillsSkill:
      properties:
        active_skill_level:
          description: The active skill level (can differ from trained due to alpha status and/or active expert systems)
          format: int64
          type: integer
        skill_id:
          description: The Type ID of the skill
          format: int64
          type: integer
        skillpoints_in_skill:
          description: The amount of Skill Points in the skill
          format: int64
          type: integer
        trained_skill_level:
          description: The trained skill level
          format: int64
          type: integer
      required:
      - skill_id
      - trained_skill_level
      - active_skill_level
      - skillpoints_in_skill
      type: object
    CharactersCharacterIdAttributesGet:
      properties:
        accrued_remap_cooldown_date:
          description: Neural remapping cooldown after a character uses remap accrued over time
          format: date-time
          type: string
        bonus_remaps:
          description: Number of available bonus character neural remaps
          format: int64
          type: integer
        charisma:
          format: int64
          type: integer
        intelligence:
          format: int64
          type: integer
        last_remap_date:
          description: Datetime of last neural remap, including usage of bonus remaps
          format: date-time
          type: string
        memory:
          format: int64
          type: integer
        perception:
          format: int64
          type: integer
        willpower:
          format: int64
          type: integer
      required:
      - charisma
      - intelligence
      - memory
      - perception
      - willpower
      type: object
    TypeID:
      examples:
      - 587
      format: int64
      type: integer
      x-common-model: 'true'
    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
    CharactersSkillqueueSkill:
      properties:
        finish_date:
          description: The date the skill training will finish
          format: date-time
          type: string
        finished_level:
          description: The level the skill is training for
          format: int64
          type: integer
        level_end_sp:
          description: The Skill Points at the end of the level
          format: int64
          type: integer
        level_start_sp:
          description: The Skill Points at the start of the level
          format: int64
          type: integer
        queue_position:
          description: The position of the skill in the queue
          format: int64
          type: integer
        skill_id:
          $ref: '#/components/schemas/TypeID'
          description: The TypeID of the skill
        start_date:
          description: The date the skill training will start/continue
          format: date-time
          type: string
        training_start_sp:
          description: The Skill Points at the start of training
          format: int64
          type: integer
      required:
      - queue_position
      - skill_id
      - finished_level
      type: object
    CharacterID:
      examples:
      - 90000001
      format: int64
      type: integer
      x-common-model: 'true'
    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
    CharactersSkills:
      properties:
        skills:
          description: The trained skills
          items:
            $ref: '#/components/schemas/CharactersSkillsSkill'
          type: array
        total_sp:
          description: The total Skill Points spent on skills
          format: int64
          type: integer
        unallocated_sp:
          description: The amount of unallocated Skill Points
          format: int64
          type: integer
      required:
      - skills
      - total_sp
      type: object
  headers:
    CacheControl:
      description: Directives for caching mechanisms. It controls how the response can be cached, by whom, and for how long.
      schema:
        type: string
    ETag:
      description: The ETag value of the response body. Use this with If-None-Match to check whether the resource has changed.
      schema:
        type: string
    LastModified:
      description: The last modified date of the response. Use this with If-Modified-Since to check whether the resource has changed.
      schema:
        type: string
  parameters:
    CompatibilityDate:
      description: The compatibility date for the request.
      in: header
      name: X-Compatibility-Date
      required: true
      schema:
        enum:
        - '2020-01-01'
        format: date
        type: string
    AcceptLanguage:
      description: The language to use for the response.
      in: header
      name: Accept-Language
      schema:
        default: en
        enum:
        - en
        - de
        - fr
        - ja
        - ru
        - zh
        - ko
        - es
        type: string
    Tenant:
      description: The tenant ID for the request.
      example: ''
      in: header
      name: X-Tenant
      schema:
        default: tranquility
        type: string
    IfModifiedSince:
      description: The date the resource was last modified. A 304 will be returned if the resource has not been modified since this date.
      in: header
      name: If-Modified-Since
      schema:
        type: string
    IfNoneMatch:
      description: The ETag of the previous request. A 304 will be returned if this matches the current ETag.
      in: header
      name: If-None-Match
      schema:
        type: string
  securitySchemes:
    OAuth2:
      flows:
        authorizationCode:
          authorizationUrl: https://login.eveonline.com/v2/oauth/authorize
          scopes:
            esi-access.read_lists.v1: esi-access.read_lists.v1
            esi-activities.read_character.v1: esi-activities.read_character.v1
            esi-alliances.read_contacts.v1: esi-alliances.read_contacts.v1
            esi-assets.read_assets.v1: esi-assets.read_assets.v1
            esi-assets.read_corporation_assets.v1: esi-assets.read_corporation_assets.v1
            esi-calendar.read_calendar_events.v1: esi-calendar.read_calendar_events.v1
            esi-calendar.respond_calendar_events.v1: esi-calendar.respond_calendar_events.v1
            esi-characters.read_agents_research.v1: esi-characters.read_agents_research.v1
            esi-characters.read_blueprints.v1: esi-characters.read_blueprints.v1
            esi-characters.read_contacts.v1: esi-characters.read_contacts.v1
            esi-characters.read_corporation_roles.v1: esi-characters.read_corporation_roles.v1
            esi-characters.read_fatigue.v1: esi-characters.read_fatigue.v1
            esi-characters.read_freelance_jobs.v1: esi-characters.read_freelance_jobs.v1
            esi-characters.read_fw_stats.v1: esi-characters.read_fw_stats.v1
            esi-characters.read_loyalty.v1: esi-characters.read_loyalty.v1
            esi-characters.read_medals.v1: esi-characters.read_medals.v1
            esi-characters.read_notifications.v1: esi-characters.read_notifications.v1
            esi-characters.read_standings.v1: esi-characters.read_standings.v1
            esi-characters.read_titles.v1: esi-characters.read_titles.v1
            esi-characters.write_contacts.v1: esi-characters.write_contacts.v1
            esi-clones.read_clones.v1: esi-clones.read_clones.v1
            esi-clones.read_implants.v1: esi-clones.read_implants.v1
            esi-contracts.read_character_contracts.v1: esi-contracts.read_character_contracts.v1
            esi-contracts.read_corporation_contracts.v1: esi-contracts.read_corporation_contracts.v1
            esi-corporations.read_blueprints.v1: esi-corporations.read_blueprints.v1
            esi-corporations.read_contacts.v1: esi-corporations.read_contacts.v1
            esi-corporations.read_container_logs.v1: esi-corporations.read_container_logs.v1
            esi-corporations.read_corporation_membership.v1: esi-corporations.read_corporation_membership.v1
            esi-corporations.read_divisions.v1: esi-corporations.read_divisions.v1
            esi-corporations.read_facilities.v1: esi-corporations.read_facilities.v1
            esi-corporations.read_freelance_jobs.v1: esi-corporations.read_freelance_jobs.v1
            esi-corporations.read_fw_stats.v1: esi-corporations.read_fw_stats.v1
            esi-corporations.read_medals.v1: esi-corporations.read_medals.v1
            esi-corporations.read_projects.v1: esi-corporations.read_projects.v1
            esi-corporations.read_standings.v1: esi-corporations.read_standings.v1
            esi-corporations.read_starbases.v1: esi-corporations.read_starbases.v1
            esi-corporations.read_structures.v1: esi-corporations.read_structures.v1
            esi-corporations.read_titles.v1: esi-corporations.read_titles.v1
            esi-corporations.track_members.v1: esi-corporations.track_members.v1
            esi-fittings.read_fittings.v1: esi-fittings.read_fittings.v1
            esi-fittings.write_fittings.v1: esi-fittings.write_fittings.v1
            esi-fleets.read_fleet.v1: esi-fleets.read_fleet.v1
            esi-fleets.write_fleet.v1: esi-fleets.write_fleet.v1
            esi-industry.read_character_jobs.v1: esi-industry.read_character_jobs.v1
            esi-industry.read_character_mining.v1: esi-industry.read_character_mining.v1
            esi-industry.read_corporation_jobs.v1: esi-industry.read_corporation_jobs.v1
            esi-industry.read_corporation_mining.v1: esi-industry.read_corporation_mining.v1
            esi-killmails.read_corporation_killmails.v1: esi-killmails.read_corporation_killmails.v1
            esi-killmails.read_killmails.v1: esi-killmails.read_killmails.v1
            esi-location.read_location.v1: esi-location.read_location.v1
            esi-location.read_online.v1: esi-location.read_online.v1
            esi-location.read_ship_type.v1: esi-location.read_ship_type.v1
            esi-mail.organize_mail.v1: esi-mail.organize_mail.v1
            esi-mail.read_mail.v1: esi-mail.read_mail.v1
            esi-mail.send_mail.v1: esi-mail.send_mail.v1
            esi-markets.read_character_orders.v1: esi-markets.read_character_orders.v1
            esi-markets.read_corporation_orders.v1: esi-markets.read_corporation_orders.v1
            esi-markets.structure_markets.v1: esi-markets.structure_markets.v1
            esi-planets.manage_planets.v1: esi-planets.manage_planets.v1
            esi-planets.read_customs_offices.v1: esi-planets.read_customs_offices.v1
            esi-search.search_structures.v1: esi-search.search_structures.v1
            esi-skills.read_skillqueue.v1: esi-skills.read_skillqueue.v1
            esi-skills.read_skills.v1: esi-skills.read_skills.v1
            esi-structures.read_character.v1: esi-structures.read_character.v1
            esi-structures.read_corporation.v1: esi-structures.read_corporation.v1
            esi-ui.open_window.v1: esi-ui.open_window.v1
            esi-ui.write_waypoint.v1: esi-ui.write_waypoint.v1
            esi-universe.read_structures.v1: esi-universe.read_structures.v1
            esi-wallet.read_character_wallet.v1: esi-wallet.read_character_wallet.v1
            esi-wallet.read_corporation_wallets.v1: esi-wallet.read_corporation_wallets.v1
          tokenUrl: https://login.eveonline.com/v2/oauth/token
      type: oauth2