CCP Games Contracts API
The Contracts API from CCP Games — 9 operation(s) for contracts.
The Contracts API from CCP Games — 9 operation(s) for contracts.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/ccp-games-contracts-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 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 Contracts API
version: '2020-01-01'
servers:
- url: https://esi.evetech.net
tags:
- name: Contracts
paths:
/characters/{character_id}/contracts:
get:
description: Returns contracts available to a character, only if the character is issuer, acceptor or assignee. Only returns contracts no older than 30 days, or if the status is "in_progress".
operationId: GetCharactersCharacterIdContracts
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/CharactersCharacterIdContractsGet'
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-contracts.read_character_contracts.v1
summary: Get contracts
tags:
- Contracts
x-cache-age: 300
x-compatibility-date: '2020-01-01'
x-rate-limit:
group: char-contract
max-tokens: 600
window-size: 15m
/characters/{character_id}/contracts/{contract_id}/bids:
get:
description: Lists bids on a particular auction contract
operationId: GetCharactersCharacterIdContractsContractIdBids
parameters:
- description: The ID of the character
in: path
name: character_id
required: true
schema:
$ref: '#/components/schemas/CharacterID'
- in: path
name: contract_id
required: true
schema:
description: ID of a contract
format: int64
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/CharactersCharacterIdContractsContractIdBidsGet'
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-contracts.read_character_contracts.v1
summary: Get contract bids
tags:
- Contracts
x-cache-age: 300
x-compatibility-date: '2020-01-01'
x-rate-limit:
group: char-contract
max-tokens: 600
window-size: 15m
/characters/{character_id}/contracts/{contract_id}/items:
get:
description: Lists items of a particular contract
operationId: GetCharactersCharacterIdContractsContractIdItems
parameters:
- description: The ID of the character
in: path
name: character_id
required: true
schema:
$ref: '#/components/schemas/CharacterID'
- in: path
name: contract_id
required: true
schema:
description: ID of a contract
format: int64
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/CharactersCharacterIdContractsContractIdItemsGet'
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-contracts.read_character_contracts.v1
summary: Get contract items
tags:
- Contracts
x-cache-age: 3600
x-compatibility-date: '2020-01-01'
x-rate-limit:
group: char-contract
max-tokens: 600
window-size: 15m
/contracts/public/bids/{contract_id}:
get:
description: Lists bids on a public auction contract
operationId: GetContractsPublicBidsContractId
parameters:
- in: path
name: contract_id
required: true
schema:
description: ID of a contract
format: int64
type: integer
- 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/ContractsPublicBidsContractIdGet'
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
'204':
content:
application/json:
schema: {}
description: Contract expired or recently accepted by player
headers:
Cache-Control:
$ref: '#/components/headers/CacheControl'
ETag:
$ref: '#/components/headers/ETag'
Last-Modified:
$ref: '#/components/headers/LastModified'
summary: Get public contract bids
tags:
- Contracts
x-cache-age: 300
x-compatibility-date: '2020-01-01'
/contracts/public/items/{contract_id}:
get:
description: Lists items of a public contract
operationId: GetContractsPublicItemsContractId
parameters:
- in: path
name: contract_id
required: true
schema:
description: ID of a contract
format: int64
type: integer
- 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/ContractsPublicItemsContractIdGet'
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
'204':
content:
application/json:
schema: {}
description: Contract expired or recently accepted by player
headers:
Cache-Control:
$ref: '#/components/headers/CacheControl'
ETag:
$ref: '#/components/headers/ETag'
Last-Modified:
$ref: '#/components/headers/LastModified'
summary: Get public contract items
tags:
- Contracts
x-cache-age: 3600
x-compatibility-date: '2020-01-01'
/contracts/public/{region_id}:
get:
description: Returns a paginated list of all public contracts in the given region
operationId: GetContractsPublicRegionId
parameters:
- in: query
name: page
schema:
description: Which page of results to return.
format: int32
minimum: 1
type: integer
- in: path
name: region_id
required: true
schema:
description: An EVE region id
format: int64
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/ContractsPublicRegionIdGet'
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
summary: Get public contracts
tags:
- Contracts
x-cache-age: 1800
x-compatibility-date: '2020-01-01'
/corporations/{corporation_id}/contracts:
get:
description: Returns contracts available to a corporation, only if the corporation is issuer, acceptor or assignee. Only returns contracts no older than 30 days, or if the status is "in_progress".
operationId: GetCorporationsCorporationIdContracts
parameters:
- description: The ID of the corporation
in: path
name: corporation_id
required: true
schema:
$ref: '#/components/schemas/CorporationID'
- 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/CorporationsCorporationIdContractsGet'
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-contracts.read_corporation_contracts.v1
summary: Get corporation contracts
tags:
- Contracts
x-cache-age: 300
x-compatibility-date: '2020-01-01'
x-rate-limit:
group: corp-contract
max-tokens: 600
window-size: 15m
/corporations/{corporation_id}/contracts/{contract_id}/bids:
get:
description: Lists bids on a particular auction contract
operationId: GetCorporationsCorporationIdContractsContractIdBids
parameters:
- in: path
name: contract_id
required: true
schema:
description: ID of a contract
format: int64
type: integer
- description: The ID of the corporation
in: path
name: corporation_id
required: true
schema:
$ref: '#/components/schemas/CorporationID'
- 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/CorporationsCorporationIdContractsContractIdBidsGet'
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-contracts.read_corporation_contracts.v1
summary: Get corporation contract bids
tags:
- Contracts
x-cache-age: 3600
x-compatibility-date: '2020-01-01'
x-rate-limit:
group: corp-contract
max-tokens: 600
window-size: 15m
/corporations/{corporation_id}/contracts/{contract_id}/items:
get:
description: Lists items of a particular contract
operationId: GetCorporationsCorporationIdContractsContractIdItems
parameters:
- in: path
name: contract_id
required: true
schema:
description: ID of a contract
format: int64
type: integer
- description: The ID of the corporation
in: path
name: corporation_id
required: true
schema:
$ref: '#/components/schemas/CorporationID'
- $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/CorporationsCorporationIdContractsContractIdItemsGet'
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-contracts.read_corporation_contracts.v1
summary: Get corporation contract items
tags:
- Contracts
x-cache-age: 3600
x-compatibility-date: '2020-01-01'
x-rate-limit:
group: corp-contract
max-tokens: 600
window-size: 15m
components:
schemas:
ContractsPublicBidsContractIdGet:
items:
properties:
amount:
description: The amount bid, in ISK
format: double
type: number
bid_id:
description: Unique ID for the bid
format: int64
type: integer
date_bid:
description: Datetime when the bid was placed
format: date-time
type: string
required:
- bid_id
- date_bid
- amount
type: object
type: array
CorporationsCorporationIdContractsContractIdBidsGet:
items:
properties:
amount:
description: The amount bid, in ISK
format: double
type: number
bid_id:
description: Unique ID for the bid
format: int64
type: integer
bidder_id:
description: Character ID of the bidder
format: int64
type: integer
date_bid:
description: Datetime when the bid was placed
format: date-time
type: string
required:
- bid_id
- bidder_id
- date_bid
- amount
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
CharacterID:
examples:
- 90000001
format: int64
type: integer
x-common-model: 'true'
CorporationsCorporationIdContractsContractIdItemsGet:
items:
properties:
is_included:
description: true if the contract issuer has submitted this item with the contract, false if the isser is asking for this item in the contract
type: boolean
is_singleton:
type: boolean
quantity:
description: Number of items in the stack
format: int64
type: integer
raw_quantity:
description: -1 indicates that the item is a singleton (non-stackable). If the item happens to be a Blueprint, -1 is an Original and -2 is a Blueprint Copy
format: int64
type: integer
record_id:
description: Unique ID for the item
format: int64
type: integer
type_id:
description: Type ID for item
format: int64
type: integer
required:
- record_id
- type_id
- quantity
- is_singleton
- is_included
type: object
type: array
CorporationID:
examples:
- 98777771
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
CharactersCharacterIdContractsContractIdItemsGet:
items:
properties:
is_included:
description: true if the contract issuer has submitted this item with the contract, false if the isser is asking for this item in the contract
type: boolean
is_singleton:
type: boolean
quantity:
description: Number of items in the stack
format: int64
type: integer
raw_quantity:
description: -1 indicates that the item is a singleton (non-stackable). If the item happens to be a Blueprint, -1 is an Original and -2 is a Blueprint Copy
format: int64
type: integer
record_id:
description: Unique ID for the item
format: int64
type: integer
type_id:
description: Type ID for item
format: int64
type: integer
required:
- record_id
- type_id
- quantity
- is_singleton
- is_included
type: object
type: array
CorporationsCorporationIdContractsGet:
items:
properties:
acceptor_id:
description: Who will accept the contract
format: int64
type: integer
assignee_id:
description: ID to whom the contract is assigned, can be corporation or character ID
format: int64
type: integer
availability:
description: To whom the contract is available
enum:
- public
- personal
- corporation
- alliance
type: string
buyout:
description: Buyout price (for Auctions only)
format: double
type: number
collateral:
description: Collateral price (for Couriers only)
format: double
type: number
contract_id:
format: int64
type: integer
date_accepted:
description: Date of confirmation of contract
format: date-time
type: string
date_completed:
description: Date of completed of contract
format: date-time
type: string
date_expired:
description: Expiration date of the contract
format: date-time
type: string
date_issued:
description: Сreation date of the contract
format: date-time
type: string
days_to_complete:
description: Number of days to perform the contract
format: int64
type: integer
end_location_id:
description: End location ID (for Couriers contract)
format: int64
type: integer
for_corporation:
description: true if the contract was issued on behalf of the issuer's corporation
type: boolean
issuer_corporation_id:
description: Character's corporation ID for the issuer
format: int64
type: integer
issuer_id:
description: Character ID for the issuer
format: int64
type: integer
price:
description: Price of contract (for ItemsExchange and Auctions)
format: double
type: number
reward:
description: Remuneration for contract (for Couriers only)
format: double
type: number
start_location_id:
description: Start location ID (for Couriers contract)
format: int64
type: integer
status:
description: Status of the the contract
enum:
- outstanding
- in_progress
- finished_issuer
- finished_contractor
- finished
- cancelled
- rejected
- failed
- deleted
- reversed
type: string
title:
description: Title of the contract
type: string
type:
description: Type of the contract
enum:
- unknown
- item_exchange
- auction
- courier
- loan
type: string
volume:
description: Volume of items in the contract
format: double
type: number
required:
- contract_id
- issuer_id
- issuer_corporation_id
- assignee_id
- acceptor_id
- type
- status
- for_corporation
- availability
- date_issued
- date_expired
type: object
type: array
CharactersCharacterIdContractsGet:
items:
properties:
acceptor_id:
description: Who will accept the contract
format: int64
type: integer
assignee_id:
description: ID to whom the contract is assigned, can be alliance, corporation or character ID
format: int64
type: integer
availability:
description: To whom the contract is available
enum:
- public
- personal
- corporation
- alliance
type: string
buyout:
description: Buyout price (for Auctions only)
format: double
type: number
collateral:
description: Collateral price (for Couriers only)
format: double
type: number
contract_id:
format: int64
type: integer
date_accepted:
description: Date of confirmation of contract
format: date-time
type: string
date_completed:
description: Date of completed of contract
format: date-time
type: string
date_expired:
description: Expiration date of the contract
format: date-time
type: string
date_issued:
description: Сreation date of the contract
format: date-time
type: string
days_to_complete:
description: Number of days to perform the contract
format: int64
type: integer
end_location_id:
description: End location ID (for Couriers contract)
format: int64
type: integer
for_corporation:
description: true if the contract was issued on behalf of the issuer's corporation
type: boolean
issuer_corporation_id:
description: Character's corporation ID for the issuer
format: int64
type: integer
issuer_id:
description: Character ID for the issuer
format: int64
type: integer
price:
description: Price of contract (for ItemsExchange and Auctions)
format: double
type: number
reward:
description: Remuneration for contract (for Couriers only)
format: double
type: number
start_location_id:
description: Start location ID (for Couriers contract)
format: int64
type: integer
status:
description: Status of the the contract
enum:
- outstanding
- in_progress
- finished_issuer
- finished_contractor
- finished
- cancelled
- rejected
- failed
- deleted
- reversed
type: string
title:
description: Title of the contract
type: string
type:
description: Type of the contract
enum:
- unknown
- item_exchange
- auction
- courier
- loan
type: string
volume:
description: Volume of items in the contract
format: double
type: number
required:
- contract_id
- issuer_id
- issuer_corporation_id
- assignee_id
- acceptor_id
- type
- status
- for_corporation
- availability
- date_issued
- date_expired
type: object
type: array
ContractsPublicRegionIdGet:
items:
properties:
buyout:
description: Buyout price (for Auctions only)
format: double
type: number
collateral:
description: Collateral price (for Couriers only)
format: double
type: number
contract_id:
format: int64
type: integer
date_expired:
description: Expiration date of the contract
format: date-time
type: string
date_issued:
description: Сreation date of the contract
format: date-time
type: string
days_to_complete:
description: Number of days to perform the contract
format: int64
type: integer
end_location_id:
description: End location ID (for Couriers contract)
format: int64
type: integer
for_corporation:
description: true if the contract was issued on behalf of the issuer's corporation
type: boolean
issuer_corporation_id:
description: Character's corporation ID for the issuer
format: int64
type: integer
issuer_id:
description: Character ID for the issuer
format: int64
type: integer
price:
description: Price of contract (for ItemsExchange and Auctions)
format: double
type: number
reward:
description: Remuneration for contract (for Couriers only)
format: double
type: number
start_location_id:
description: Start location ID (for Couriers contract)
format: int64
type: integer
title:
description: Title of the contract
type: string
type:
description: Type of the contract
enum:
- unknown
- item_exchange
- auction
- courier
- loan
type: string
volume:
description: Volume of items in the contract
format: double
type: number
required:
- contract_id
- issuer_id
- issuer_corporation_id
- type
- date_issued
- date_expired
type: object
type: array
CharactersCharacterIdContractsContractIdBidsGet:
items:
properties:
amount:
description: The amount bid, in ISK
format: double
type: number
bid_id:
description: Unique ID for the bid
format: int64
type: integer
bidder_id:
description: Character ID of the bidder
format: int64
type: integer
date_bid:
description: Datetime when the bid was placed
format: date-time
type: string
required:
- bid
# --- truncated at 32 KB (40 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/ccp-games/refs/heads/main/openapi/ccp-games-contracts-api-openapi.yml