Files
marvel-service/Sources/MarvelService/openapi.yaml
T

7444 lines
236 KiB
YAML
Raw Normal View History

2025-10-07 23:02:12 +00:00
## ===----------------------------------------------------------------------===
##
## This source file is part of the Marvel Service open source project
##
## Copyright (c) 2025 Röck+Cöde VoF. and the Marvel Service project authors
## Licensed under Apache license v2.0
##
## See LICENSE for license information
## See CONTRIBUTORS for the list of Marvel Service project authors
##
## SPDX-License-Identifier: Apache-2.0
##
## ===----------------------------------------------------------------------===
openapi: 3.1.0
info:
title: gateway.marvel.com
description: The Marvel Comics RESTful API.
contact:
name: Marvel Entertainment, LLC
url: https://help.marvel.com/hc/en-us/requests/new?ticket_form_id=32531283865236
termsOfService: https://developer.marvel.com/terms
version: Cable
servers:
- url: https://gateway.marvel.com
description: Live service
tags:
- name: characters
description: Group of endpoints that returns characters.
- name: comics
description: Group of endpoints that returns comics.
- name: creators
description: Group of endpoints that returns creators.
- name: events
description: Group of endpoints that returns events.
- name: series
description: Group of endpoints that returns series.
- name: stories
description: Group of endpoints that returns stories.
paths:
/v1/public/characters:
get:
tags:
- characters
summary: Fetches lists of characters.
description: Fetches lists of comic characters with optional filters.
operationId: getCharacters
parameters:
- name: name
in: query
description: Return only characters matching the specified full character name.
example: Spider-Man
required: false
schema:
type: string
- name: nameStartsWith
in: query
description: Return characters with names that begin with the specified string.
example: Sp
required: false
schema:
type: string
- name: modifiedSince
in: query
description: Return only characters which have been modified since the specified date.
required: false
schema:
type: string
format: date
- name: comics
in: query
description: Return only characters which appear in the specified comics (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: series
in: query
description: Return only characters which appear the specified series (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: events
in: query
description: Return only characters which appear in the specified events (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: stories
in: query
description: Return only characters which appear the specified stories (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: orderBy
in: query
description: Order the result set by a field or fields. Add a "-" to the value sort in descending order. Multiple values are given priority in the order in which they are passed.
required: false
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- name
- modified
- -name
- -modified
- name: limit
in: query
description: Limit the result set to the specified number of resources.
required: false
schema:
type: integer
minimum: 1
maximum: 100
- name: offset
in: query
description: Skip the specified number of resources in the result set.
required: false
schema:
type: integer
responses:
"200":
description: OK response
content:
application/json:
schema:
$ref: '#/components/schemas/CharacterDataWrapper'
"401":
description: Unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"403":
description: Forbidden response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"404":
description: Not Found response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"405":
description: Method Not Allowed response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"409":
description: Conflict response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"429":
description: Too Many Requests response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
/v1/public/characters/{characterId}:
get:
tags:
- characters
summary: Fetches a single character by id.
description: This method fetches a single character resource. It is the canonical URI for any character resource provided by the API.
operationId: getCharacterById
parameters:
- name: characterId
in: path
description: A character id.
required: true
schema:
type: integer
responses:
"200":
description: OK response
content:
application/json:
schema:
$ref: '#/components/schemas/CharacterDataWrapper'
"401":
description: Unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"403":
description: Forbidden response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"404":
description: Not found response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"405":
description: Method Not Allowed response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"409":
description: Conflict response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"429":
description: Too Many Requests response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
/v1/public/characters/{characterId}/comics:
get:
tags:
- comics
summary: Fetches lists of comics filtered by a character id.
description: Fetches lists of comics containing a specific character, with optional filters.
operationId: getComicsByCharacterId
parameters:
- name: characterId
in: path
description: The character id.
required: true
schema:
type: integer
- name: format
in: query
description: Filter by the issue format.
example: comic
required: false
schema:
type: string
enum:
- comic
- magazine
- trade paperback
- hardcover
- digest
- graphic novel
- digital comic
- infinite comic
- name: formatType
in: query
description: Filter by the issue format type.
example: comic
required: false
schema:
type: string
enum:
- comic
- collection
- name: noVariants
in: query
description: Exclude variant comics from the result set.
required: false
schema:
type: boolean
- name: dateDescriptor
in: query
description: Return comics within a predefined date range.
required: false
schema:
type: string
enum:
- lastWeek
- thisWeek
- nextWeek
- thisMonth
- name: dateRange
in: query
description: Return comics within a predefined date range. Dates must be specified as date1,date2. Dates are preferably formatted as YYYY-MM-DD but may be sent as any common date format.
example: 2013-01-01,2013-01-02
required: false
style: form
explode: false
schema:
type: array
items:
type: string
- name: title
in: query
description: Return only issues in series whose title matches the input.
required: false
schema:
type: string
- name: titleStartsWith
in: query
description: Return only issues in series whose title starts with the input.
required: false
schema:
type: string
- name: startYear
in: query
description: Return only issues in series whose start year matches the input.
required: false
schema:
type: integer
- name: issueNumber
in: query
description: Return only issues in series whose issue number matches the input.
required: false
schema:
type: integer
- name: diamondCode
in: query
description: Filter by diamond code.
required: false
schema:
type: string
- name: digitalId
in: query
description: Filter by digital comic id.
required: false
schema:
type: integer
- name: upc
in: query
description: Filter by UPC.
required: false
schema:
type: string
- name: isbn
in: query
description: Filter by ISBN.
required: false
schema:
type: string
- name: ean
in: query
description: Filter by EAN.
required: false
schema:
type: string
- name: issn
in: query
description: Filter by ISSN.
required: false
schema:
type: string
- name: hasDigitalIssue
in: query
description: Include only results which are available digitally.
required: false
schema:
type: boolean
- name: modifiedSince
in: query
description: Return only comics which have been modified since the specified date.
required: false
schema:
type: string
format: date
- name: creators
in: query
description: Return only comics which feature work by the specified creators (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: series
in: query
description: Return only comics which are part of the specified series (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: events
in: query
description: Return only comics which take place in the specified events (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: stories
in: query
description: Return only comics which contain the specified stories (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: sharedAppearances
in: query
description: Return only comics in which the specified characters appear together (for example in which BOTH Spider-Man and Wolverine appear).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: collaborators
in: query
description: Return only comics in which the specified creators worked together (for example in which BOTH Stan Lee and Jack Kirby did work).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: orderBy
in: query
description: Order the result set by a field or fields. Add a "-" to the value sort in descending order. Multiple values are given priority in the order in which they are passed.
required: false
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- issueNumber
- modified
- onSaleDate
- focDate
- title
- -issueNumber
- -modified
- -onSaleDate
- -focDate
- -title
- name: limit
in: query
description: Limit the result set to the specified number of resources.
required: false
schema:
type: integer
minimum: 1
maximum: 100
- name: offset
in: query
description: Skip the specified number of resources in the result set.
required: false
schema:
type: integer
responses:
"200":
description: OK response
content:
application/json:
schema:
$ref: '#/components/schemas/ComicDataWrapper'
"401":
description: Unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"403":
description: Forbidden response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"404":
description: Not Found response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"405":
description: Method Not Allowed response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"409":
description: Conflict response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"429":
description: Too Many Requests response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
/v1/public/characters/{characterId}/events:
get:
tags:
- events
summary: Fetches lists of events filtered by a character id.
description: Fetches lists of events in which a specific character appears, with optional filters.
operationId: getEventsByCharacterId
parameters:
- name: characterId
in: path
description: A character id.
required: true
schema:
type: integer
- name: name
in: query
description: Filter the event list by name.
required: false
schema:
type: string
- name: nameStartsWith
in: query
description: Return events with names that begin with the specified string.
example: Sp
required: false
schema:
type: string
- name: modifiedSince
in: query
description: Return only events which have been modified since the specified date.
required: false
schema:
type: string
format: date
- name: creators
in: query
description: Return only events which feature work by the specified creators (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: series
in: query
description: Return only events which are part of the specified series (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: comics
in: query
description: Return only events which take place in the specified comics (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: stories
in: query
description: Return only events which contain the specified stories (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: orderBy
in: query
description: Order the result set by a field or fields. Add a "-" to the value sort in descending order. Multiple values are given priority in the order in which they are passed.
required: false
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- name
- modified
- startDate
- -name
- -modified
- -startDate
- name: limit
in: query
description: Limit the result set to the specified number of resources.
required: false
schema:
type: integer
minimum: 1
maximum: 100
- name: offset
in: query
description: Skip the specified number of resources in the result set.
required: false
schema:
type: integer
responses:
"200":
description: OK response
content:
application/json:
schema:
$ref: '#/components/schemas/EventDataWrapper'
"401":
description: Unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"403":
description: Forbidden response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"404":
description: Not Found response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"405":
description: Method Not Allowed response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"409":
description: Conflict response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"429":
description: Too Many Requests response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
/v1/public/characters/{characterId}/series:
get:
tags:
- series
summary: Fetches lists of series filtered by a character id.
description: Fetches lists of comic series in which a specific character appears, with optional filters.
operationId: getSeriesByCharacterId
parameters:
- name: characterId
in: path
description: A character id.
required: true
schema:
type: integer
- name: title
in: query
description: Filter by series title.
required: false
schema:
type: string
- name: titleStartsWith
in: query
description: Return series with titles that begin with the specified string.
example: Sp
required: false
schema:
type: string
- name: startYear
in: query
description: Return only series matching the specified start year.
required: false
schema:
type: integer
- name: modifiedSince
in: query
description: Return only series which have been modified since the specified date.
required: false
schema:
type: string
format: date
- name: comics
in: query
description: Return only series which contain the specified comics (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: stories
in: query
description: Return only series which contain the specified stories (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: events
in: query
description: Return only series which have comics that take place during the specified events (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: creators
in: query
description: Return only series which feature work by the specified creators (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: seriesType
in: query
description: Filter the series by publication frequency type.
required: false
schema:
type: string
enum:
- collection
- one shot
- limited
- ongoing
- name: contains
in: query
description: Return only series containing one or more comics with the specified format.
required: false
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- comic
- magazine
- trade paperback
- hardcover
- digest
- graphic novel
- digital comic
- infinite comic
- name: orderBy
in: query
description: Order the result set by a field or fields. Add a "-" to the value sort in descending order. Multiple values are given priority in the order in which they are passed.
required: false
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- title
- modified
- startYear
- -title
- -modified
- -startYear
- name: limit
in: query
description: Limit the result set to the specified number of resources.
required: false
schema:
type: integer
minimum: 1
maximum: 100
- name: offset
in: query
description: Skip the specified number of resources in the result set.
required: false
schema:
type: integer
responses:
"200":
description: OK response
content:
application/json:
schema:
$ref: '#/components/schemas/SeriesDataWrapper'
"401":
description: Unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"403":
description: Forbidden response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"404":
description: Not Found response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"405":
description: Method Not Allowed response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"409":
description: Conflict response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"429":
description: Too Many Requests response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
/v1/public/characters/{characterId}/stories:
get:
tags:
- stories
summary: Fetches lists of stories filtered by a character id.
description: Fetches lists of comic stories featuring a specific character with optional filters.
operationId: getStoriesByCharacterId
parameters:
- name: characterId
in: path
description: A character id.
required: true
schema:
type: integer
- name: modifiedSince
in: query
description: Return only stories which have been modified since the specified date.
required: false
schema:
type: string
format: date
- name: comics
in: query
description: Return only stories contained in the specified (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: series
in: query
description: Return only stories contained the specified series (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: events
in: query
description: Return only stories which take place during the specified events (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: creators
in: query
description: Return only stories which feature work by the specified creators (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: orderBy
in: query
description: Order the result set by a field or fields. Add a "-" to the value sort in descending order. Multiple values are given priority in the order in which they are passed.
required: false
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- id
- modified
- -id
- -modified
- name: limit
in: query
description: Limit the result set to the specified number of resources.
required: false
schema:
type: integer
minimum: 1
maximum: 100
- name: offset
in: query
description: Skip the specified number of resources in the result set.
required: false
schema:
type: integer
responses:
"200":
description: OK response
content:
application/json:
schema:
$ref: '#/components/schemas/StoryDataWrapper'
"401":
description: Unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"403":
description: Forbidden response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"404":
description: Not Found response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"405":
description: Method Not Allowed response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"409":
description: Conflict response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"429":
description: Too Many Requests response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
/v1/public/comics:
get:
tags:
- comics
summary: Fetches lists of comics.
description: Fetches lists of comics with optional filters.
operationId: getComics
parameters:
- name: format
in: query
description: "Filter by the issue format."
required: false
schema:
type: string
enum:
- comic
- magazine
- trade paperback
- hardcover
- digest
- graphic novel
- digital comic
- infinite comic
- name: formatType
in: query
description: Filter by the issue format type.
required: false
schema:
type: string
enum:
- comic
- collection
- name: noVariants
in: query
description: "Exclude variants (alternate covers, secondary printings, director's cuts, etc.) from the result set."
required: false
schema:
type: boolean
- name: dateDescriptor
in: query
description: Return comics within a predefined date range.
required: false
schema:
type: string
enum:
- lastWeek
- thisWeek
- nextWeek
- thisMonth
- name: dateRange
in: query
description: Return comics within a predefined date range. Dates must be specified as date1,date2. Dates are preferably formatted as YYYY-MM-DD but may be sent as any common date format.
example: 2013-01-01,2013-01-02
required: false
style: form
explode: false
schema:
type: array
items:
type: string
- name: title
in: query
description: Return only issues in series whose title matches the input.
required: false
schema:
type: string
- name: titleStartsWith
in: query
description: Return only issues in series whose title starts with the input.
required: false
schema:
type: string
- name: startYear
in: query
description: Return only issues in series whose start year matches the input.
required: false
schema:
type: integer
- name: issueNumber
in: query
description: Return only issues in series whose issue number matches the input.
required: false
schema:
type: integer
- name: diamondCode
in: query
description: Filter by diamond code.
required: false
schema:
type: string
- name: digitalId
in: query
description: Filter by digital comic id.
required: false
schema:
type: integer
- name: upc
in: query
description: Filter by UPC.
required: false
schema:
type: string
- name: isbn
in: query
description: Filter by ISBN.
required: false
schema:
type: string
- name: ean
in: query
description: Filter by EAN.
required: false
schema:
type: string
- name: issn
in: query
description: Filter by ISSN.
required: false
schema:
type: string
- name: hasDigitalIssue
in: query
description: Include only results which are available digitally.
required: false
schema:
type: boolean
- name: modifiedSince
in: query
description: Return only comics which have been modified since the specified date.
required: false
schema:
type: string
format: date
- name: creators
in: query
description: Return only comics which feature work by the specified creators (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: characters
in: query
description: Return only comics which feature the specified characters (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: series
in: query
description: Return only comics which are part of the specified series (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: events
in: query
description: Return only comics which take place in the specified events (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: stories
in: query
description: Return only comics which contain the specified stories (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: sharedAppearances
in: query
description: Return only comics in which the specified characters appear together (for example in which BOTH Spider-Man and Wolverine appear). Accepts a comma-separated list of ids.
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: collaborators
in: query
description: Return only comics in which the specified creators worked together (for example in which BOTH Stan Lee and Jack Kirby did work). Accepts a comma-separated list of ids.
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: orderBy
in: query
description: Order the result set by a field or fields. Add a "-" to the value sort in descending order. Multiple values are given priority in the order in which they are passed.
required: false
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- issueNumber
- modified
- onSaleDate
- focDate
- title
- -issueNumber
- -modified
- -onSaleDate
- -focDate
- -title
- name: limit
in: query
description: Limit the result set to the specified number of resources.
required: false
schema:
type: integer
minimum: 1
maximum: 100
- name: offset
in: query
description: Skip the specified number of resources in the result set.
required: false
schema:
type: integer
responses:
"200":
description: OK response
content:
application/json:
schema:
$ref: '#/components/schemas/ComicDataWrapper'
"401":
description: Unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"403":
description: Forbidden response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"404":
description: Not Found response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"405":
description: Method Not Allowed response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"409":
description: Conflict response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"429":
description: Too Many Requests response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
/v1/public/comics/{comicId}:
get:
tags:
- comics
summary: Fetches a single comic by id.
description: This method fetches a single comic resource. It is the canonical URI for any comic resource provided by the API.
operationId: getComicById
parameters:
- name: comicId
in: path
description: A comic id.
required: true
schema:
type: integer
responses:
"200":
description: OK response
content:
application/json:
schema:
$ref: '#/components/schemas/ComicDataWrapper'
"401":
description: Unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"403":
description: Forbidden response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"404":
description: Not found response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"405":
description: Method Not Allowed response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"409":
description: Conflict response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"429":
description: Too Many Requests response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
/v1/public/comics/{comicId}/characters:
get:
tags:
- characters
summary: Fetches lists of characters filtered by a comic id.
description: Fetches lists of characters which appear in a specific comic with optional filters.
operationId: getCharactersByComicId
parameters:
- name: comicId
in: path
description: A comic id.
required: true
schema:
type: integer
- name: name
in: query
description: Return only characters matching the specified full character name
example: Spider-Man
required: false
schema:
type: string
- name: nameStartsWith
in: query
description: Return characters with names that begin with the specified string.
example: Sp
required: false
schema:
type: string
- name: modifiedSince
in: query
description: Return only characters which have been modified since the specified date.
required: false
schema:
type: string
format: date
- name: series
in: query
description: Return only characters which appear the specified series (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: events
in: query
description: Return only characters which appear comics that took place in the specified events (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: stories
in: query
description: Return only characters which appear the specified stories (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: orderBy
in: query
description: Order the result set by a field or fields. Add a "-" to the value sort in descending order. Multiple values are given priority in the order in which they are passed.
required: false
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- name
- modified
- -name
- -modified
- name: limit
in: query
description: Limit the result set to the specified number of resources.
required: false
schema:
type: integer
minimum: 1
maximum: 100
- name: offset
in: query
description: Skip the specified number of resources in the result set.
required: false
schema:
type: integer
responses:
"200":
description: OK response
content:
application/json:
schema:
$ref: '#/components/schemas/CharacterDataWrapper'
"401":
description: Unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"403":
description: Forbidden response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"404":
description: Not Found response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"405":
description: Method Not Allowed response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"409":
description: Conflict response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"429":
description: Too Many Requests response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
/v1/public/comics/{comicId}/creators:
get:
tags:
- creators
summary: Fetches lists of creators filtered by a comic id.
description: "Fetches lists of comic creators whose work appears in a specific comic, with optional filters."
operationId: getCreatorsByComicId
parameters:
- name: comicId
in: path
description: A comic id.
required: true
schema:
type: integer
- name: firstName
in: query
description: Filter by creator first name.
example: Brian
required: false
schema:
type: string
- name: middleName
in: query
description: Filter by creator middle name.
example: Michael
required: false
schema:
type: string
- name: lastName
in: query
description: Filter by creator last name.
example: Bendis
required: false
schema:
type: string
- name: suffix
in: query
description: "Filter by suffix or honorific"
example: Sr.
required: false
schema:
type: string
- name: nameStartsWith
in: query
description: "Filter by creator names that match critera"
example: B
required: false
schema:
type: string
- name: firstNameStartsWith
in: query
description: "Filter by creator first names that match critera"
example: B
required: false
schema:
type: string
- name: middleNameStartsWith
in: query
description: Filter by creator middle names that match criteria.
example: Mi
required: false
schema:
type: string
- name: lastNameStartsWith
in: query
description: Filter by creator last names that match criteria.
example: Ben
required: false
schema:
type: string
- name: modifiedSince
in: query
description: Return only creators which have been modified since the specified date.
required: false
schema:
type: string
format: date
- name: comics
in: query
description: Return only creators who worked on in the specified comics (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: series
in: query
description: Return only creators who worked on the specified series (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: stories
in: query
description: Return only creators who worked on the specified stories (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: orderBy
in: query
description: Order the result set by a field or fields. Add a "-" to the value sort in descending order. Multiple values are given priority in the order in which they are passed.
required: false
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- firstName
- middleName
- lastName
- suffix
- modified
- -firstName
- -middleName
- -lastName
- -suffix
- -modified
- name: limit
in: query
description: Limit the result set to the specified number of resources.
required: false
schema:
type: integer
minimum: 1
maximum: 100
- name: offset
in: query
description: Skip the specified number of resources in the result set.
required: false
schema:
type: integer
responses:
"200":
description: OK response
content:
application/json:
schema:
$ref: '#/components/schemas/CreatorDataWrapper'
"401":
description: Unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"403":
description: Forbidden response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"404":
description: Not Found response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"405":
description: Method Not Allowed response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"409":
description: Conflict response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"429":
description: Too Many Requests response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
/v1/public/comics/{comicId}/events:
get:
tags:
- events
summary: Fetches lists of events filtered by a comic id.
description: Fetches lists of events in which a specific comic appears, with optional filters.
operationId: getEventsByComicId
parameters:
- name: comicId
in: path
description: A comic id.
required: true
schema:
type: integer
- name: name
in: query
description: Filter the event list by name.
required: false
schema:
type: string
- name: nameStartsWith
in: query
description: Return events with names that begin with the specified string.
example: Sp
required: false
schema:
type: string
- name: modifiedSince
in: query
description: Return only events which have been modified since the specified date.
required: false
schema:
type: string
format: date
- name: creators
in: query
description: Return only events which feature work by the specified creators (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: characters
in: query
description: Return only events which feature the specified characters (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: series
in: query
description: Return only events which are part of the specified series (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: stories
in: query
description: Return only events which contain the specified stories (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: orderBy
in: query
description: Order the result set by a field or fields. Add a "-" to the value sort in descending order. Multiple values are given priority in the order in which they are passed.
required: false
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- name
- modified
- startDate
- -name
- -modified
- -startDate
- name: limit
in: query
description: Limit the result set to the specified number of resources.
required: false
schema:
type: integer
minimum: 1
maximum: 100
- name: offset
in: query
description: Skip the specified number of resources in the result set.
required: false
schema:
type: integer
responses:
"200":
description: OK response
content:
application/json:
schema:
$ref: '#/components/schemas/EventDataWrapper'
"401":
description: Unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"403":
description: Forbidden response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"404":
description: Not Found response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"405":
description: Method Not Allowed response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"409":
description: Conflict response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"429":
description: Too Many Requests response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
/v1/public/comics/{comicId}/stories:
get:
tags:
- stories
summary: Fetches lists of stories filtered by a comic id.
description: Fetches lists of comic stories in a specific comic issue, with optional filters.
operationId: getStoriesByComicId
parameters:
- name: comicId
in: path
description: A comic id.
required: true
schema:
type: integer
- name: modifiedSince
in: query
description: Return only stories which have been modified since the specified date.
required: false
schema:
type: string
format: date
- name: series
in: query
description: Return only stories contained the specified series (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: events
in: query
description: Return only stories which take place during the specified events (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: creators
in: query
description: Return only stories which feature work by the specified creators (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: characters
in: query
description: Return only stories which feature the specified characters (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: orderBy
in: query
description: Order the result set by a field or fields. Add a "-" to the value sort in descending order. Multiple values are given priority in the order in which they are passed.
required: false
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- id
- modified
- -id
- -modified
- name: limit
in: query
description: Limit the result set to the specified number of resources.
required: false
schema:
type: integer
minimum: 1
maximum: 100
- name: offset
in: query
description: Skip the specified number of resources.
required: false
schema:
type: integer
responses:
"200":
description: OK response
content:
application/json:
schema:
$ref: '#/components/schemas/StoryDataWrapper'
"401":
description: Unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"403":
description: Forbidden response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"404":
description: Not Found response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"405":
description: Method Not Allowed response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"409":
description: Conflict response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"429":
description: Too Many Requests response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
/v1/public/creators:
get:
tags:
- creators
summary: Fetches lists of creators.
description: Fetches lists of comic creators with optional filters.
operationId: getCreators
parameters:
- name: firstName
in: query
description: Filter by creator first name.
example: Brian
required: false
schema:
type: string
- name: middleName
in: query
description: Filter by creator middle name.
example: Michael
required: false
schema:
type: string
- name: lastName
in: query
description: Filter by creator last name.
example: Bendis
required: false
schema:
type: string
- name: suffix
in: query
description: Filter by suffix or honorific.
example: Sr.
required: false
schema:
type: string
- name: nameStartsWith
in: query
description: Filter by creator names that match criteria.
example: B
required: false
schema:
type: string
- name: firstNameStartsWith
in: query
description: Filter by creator first names that match criteria.
example: B
required: false
schema:
type: string
- name: middleNameStartsWith
in: query
description: Filter by creator middle names that match criteria.
example: Mi
required: false
schema:
type: string
- name: lastNameStartsWith
in: query
description: Filter by creator last names that match criteria.
example: Ben
required: false
schema:
type: string
- name: modifiedSince
in: query
description: Return only creators which have been modified since the specified date.
required: false
schema:
type: string
format: date
- name: comics
in: query
description: Return only creators who worked on in the specified comics (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: series
in: query
description: Return only creators who worked on the specified series (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: events
in: query
description: Return only creators who worked on comics that took place in the specified events (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: stories
in: query
description: Return only creators who worked on the specified stories (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: orderBy
in: query
description: Order the result set by a field or fields. Add a "-" to the value sort in descending order. Multiple values are given priority in the order in which they are passed.
required: false
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- firstName
- middleName
- lastName
- suffix
- modified
- -firstName
- -middleName
- -lastName
- -suffix
- -modified
- name: limit
in: query
description: Limit the result set to the specified number of resources.
required: false
schema:
type: integer
minimum: 1
maximum: 100
- name: offset
in: query
description: Skip the specified number of resources in the result set.
required: false
schema:
type: integer
responses:
"200":
description: OK response
content:
application/json:
schema:
$ref: '#/components/schemas/CreatorDataWrapper'
"401":
description: Unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"403":
description: Forbidden response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"404":
description: Not Found response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"405":
description: Method Not Allowed response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"409":
description: Conflict response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"429":
description: Too Many Requests response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
/v1/public/creators/{creatorId}:
get:
tags:
- creators
summary: Fetches a single creator by id.
description: This method fetches a single creator resource. It is the canonical URI for any creator resource provided by the API.
operationId: getCreatorById
parameters:
- name: creatorId
in: path
description: A creator id.
required: true
schema:
type: integer
responses:
"200":
description: OK response
content:
application/json:
schema:
$ref: '#/components/schemas/CreatorDataWrapper'
"401":
description: Unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"403":
description: Forbidden response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"404":
description: Not found response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"405":
description: Method Not Allowed response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"409":
description: Conflict response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"429":
description: Too Many Requests response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
/v1/public/creators/{creatorId}/comics:
get:
tags:
- comics
summary: Fetches lists of comics filtered by a creator id.
description: Fetches lists of comics in which the work of a specific creator appears, with optional filters.
operationId: getComicsByCreatorId
parameters:
- name: creatorId
in: path
description: A creator id.
required: true
schema:
type: integer
- name: format
in: query
description: Filter by the issue format.
required: false
schema:
type: string
enum:
- comic
- magazine
- trade paperback
- hardcover
- digest
- graphic novel
- digital comic
- infinite comic
- name: formatType
in: query
description: Filter by the issue format type.
required: false
schema:
type: string
enum:
- comic
- collection
- name: noVariants
in: query
description: Exclude variant comics from the result set.
required: false
schema:
type: boolean
- name: dateDescriptor
in: query
description: Return comics within a predefined date range.
required: false
schema:
type: string
enum:
- thisWeek
- lastWeek
- nextWeek
- thisMonth
- name: dateRange
in: query
description: Return comics within a predefined date range. Dates must be specified as date1,date2. Dates are preferably formatted as YYYY-MM-DD but may be sent as any common date format.
example: 2013-01-01,2013-01-02
required: false
style: form
explode: false
schema:
type: array
items:
type: string
- name: title
in: query
description: Return only issues in series whose title matches the input.
required: false
schema:
type: string
- name: titleStartsWith
in: query
description: Return only issues in series whose title starts with the input.
required: false
schema:
type: string
- name: startYear
in: query
description: Return only issues in series whose start year matches the input.
required: false
schema:
type: integer
- name: issueNumber
in: query
description: Return only issues in series whose issue number matches the input.
required: false
schema:
type: integer
- name: diamondCode
in: query
description: Filter by diamond code.
required: false
schema:
type: string
- name: digitalId
in: query
description: Filter by digital comic id.
required: false
schema:
type: integer
- name: upc
in: query
description: Filter by UPC.
required: false
schema:
type: string
- name: isbn
in: query
description: Filter by ISBN.
required: false
schema:
type: string
- name: ean
in: query
description: Filter by EAN.
required: false
schema:
type: string
- name: issn
in: query
description: Filter by ISSN.
required: false
schema:
type: string
- name: hasDigitalIssue
in: query
description: Include only results which are available digitally.
required: false
style: form
explode: false
schema:
type: array
items:
type: boolean
- name: modifiedSince
in: query
description: Return only comics which have been modified since the specified date.
required: false
schema:
type: string
format: date
- name: characters
in: query
description: Return only comics which feature the specified characters (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: series
in: query
description: Return only comics which are part of the specified series (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: events
in: query
description: Return only comics which take place in the specified events (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: stories
in: query
description: Return only comics which contain the specified stories (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: sharedAppearances
in: query
description: Return only comics in which the specified characters appear together (for example in which BOTH Spider-Man and Wolverine appear).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: collaborators
in: query
description: Return only comics in which the specified creators worked together (for example in which BOTH Stan Lee and Jack Kirby did work).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: orderBy
in: query
description: Order the result set by a field or fields. Add a "-" to the value sort in descending order. Multiple values are given priority in the order in which they are passed.
required: false
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- title
- issueNumber
- modified
- onSaleDate
- focDate
- -title
- -issueNumber
- -modified
- -onSaleDate
- -focDate
- name: limit
in: query
description: Limit the result set to the specified number of resources.
required: false
schema:
type: integer
minimum: 1
maximum: 100
- name: offset
in: query
description: Skip the specified number of resources in the result set.
required: false
schema:
type: integer
responses:
"200":
description: OK response
content:
application/json:
schema:
$ref: '#/components/schemas/ComicDataWrapper'
"401":
description: Unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"403":
description: Forbidden response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"404":
description: Not Found response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"405":
description: Method Not Allowed response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"409":
description: Conflict response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"429":
description: Too Many Requests response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
/v1/public/creators/{creatorId}/events:
get:
tags:
- events
summary: Fetches lists of events filtered by a creator id.
description: Fetches lists of events featuring the work of a specific creator with optional filters.
operationId: getEventsByCreatorId
parameters:
- name: creatorId
in: path
description: A creator id.
required: true
schema:
type: integer
- name: name
in: query
description: Filter the event list by name.
required: false
schema:
type: string
- name: nameStartsWith
in: query
description: Return events with names that begin with the specified string.
example: Sp
required: false
schema:
type: string
- name: modifiedSince
in: query
description: Return only events which have been modified since the specified date.
required: false
schema:
type: string
format: date
- name: characters
in: query
description: Return only events which feature the specified characters (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: series
in: query
description: Return only events which are part of the specified series (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: comics
in: query
description: Return only events which take place in the specified comics (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: stories
in: query
description: Return only events which contain the specified stories (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: orderBy
in: query
description: Order the result set by a field or fields. Add a "-" to the value sort in descending order. Multiple values are given priority in the order in which they are passed.
required: false
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- name
- modified
- startDate
- -name
- -modified
- -startDate
- name: limit
in: query
description: Limit the result set to the specified number of resources.
required: false
schema:
type: integer
minimum: 1
maximum: 100
- name: offset
in: query
description: Skip the specified number of resources in the result set.
required: false
schema:
type: integer
responses:
"200":
description: OK response
content:
application/json:
schema:
$ref: '#/components/schemas/EventDataWrapper'
"401":
description: Unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"403":
description: Forbidden response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"404":
description: Not Found response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"405":
description: Method Not Allowed response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"409":
description: Conflict response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"429":
description: Too Many Requests response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
/v1/public/creators/{creatorId}/series:
get:
tags:
- series
summary: Fetches lists of series filtered by a creator id.
description: Fetches lists of comic series in which a specific creator's work appears, with optional filters.
operationId: getSeriesByCreatorId
parameters:
- name: creatorId
in: path
description: A creator id.
required: true
schema:
type: integer
- name: title
in: query
description: Filter by series title.
required: false
schema:
type: string
- name: titleStartsWith
in: query
description: Return series with titles that begin with the specified string.
example: Sp
required: false
schema:
type: string
- name: startYear
in: query
description: Return only series matching the specified start year.
required: false
schema:
type: integer
- name: modifiedSince
in: query
description: Return only series which have been modified since the specified date.
required: false
schema:
type: string
format: date
- name: comics
in: query
description: Return only series which contain the specified comics (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: stories
in: query
description: Return only series which contain the specified stories (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: events
in: query
description: Return only series which have comics that take place during the specified events (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: characters
in: query
description: Return only series which feature the specified characters (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: seriesType
in: query
description: Filter the series by publication frequency type.
required: false
schema:
type: string
enum:
- collection
- one shot
- limited
- ongoing
- name: contains
in: query
description: Return only series containing one or more comics with the specified format.
required: false
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- comic
- magazine
- trade paperback
- hardcover
- digest
- graphic novel
- digital comic
- infinite comic
- name: orderBy
in: query
description: Order the result set by a field or fields. Add a "-" to the value sort in descending order. Multiple values are given priority in the order in which they are passed.
required: false
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- title
- startYear
- modified
- -title
- -startYear
- -modified
- name: limit
in: query
description: Limit the result set to the specified number of resources.
required: false
schema:
type: integer
minimum: 1
maximum: 100
- name: offset
in: query
description: Skip the specified number of resources in the result set.
required: false
schema:
type: integer
responses:
"200":
description: OK response
content:
application/json:
schema:
$ref: '#/components/schemas/SeriesDataWrapper'
"401":
description: Unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"403":
description: Forbidden response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"404":
description: Not Found response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"405":
description: Method Not Allowed response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"409":
description: Conflict response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"429":
description: Too Many Requests response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
/v1/public/creators/{creatorId}/stories:
get:
tags:
- stories
summary: Fetches lists of stories filtered by a creator id.
description: Fetches lists of comic stories by a specific creator with optional filters.
operationId: getStoriesByCreatorId
parameters:
- name: creatorId
in: path
description: A creator id.
required: true
schema:
type: integer
- name: modifiedSince
in: query
description: Return only stories which have been modified since the specified date.
required: false
schema:
type: string
format: date
- name: comics
in: query
description: Return only stories contained in the specified comics (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: series
in: query
description: Return only stories contained the specified series (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: events
in: query
description: Return only stories which take place during the specified events (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: characters
in: query
description: Return only stories which feature the specified characters (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: orderBy
in: query
description: Order the result set by a field or fields. Add a "-" to the value sort in descending order. Multiple values are given priority in the order in which they are passed.
required: false
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- id
- modified
- -id
- -modified
- name: limit
in: query
description: Limit the result set to the specified number of resources.
required: false
schema:
type: integer
minimum: 1
maximum: 100
- name: offset
in: query
description: Skip the specified number of resources in the result set.
required: false
schema:
type: integer
responses:
"200":
description: OK response
content:
application/json:
schema:
$ref: '#/components/schemas/StoryDataWrapper'
"401":
description: Unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"403":
description: Forbidden response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"404":
description: Not Found response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"405":
description: Method Not Allowed response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"409":
description: Conflict response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"429":
description: Too Many Requests response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
/v1/public/events:
get:
tags:
- events
summary: Fetches lists of events.
description: Fetches lists of events with optional filters.
operationId: getEvents
parameters:
- name: name
in: query
description: Return only events which match the specified name.
required: false
schema:
type: string
- name: nameStartsWith
in: query
description: Return events with names that begin with the specified string.
example: Sp
required: false
schema:
type: string
- name: modifiedSince
in: query
description: Return only events which have been modified since the specified date.
required: false
schema:
type: string
format: date
- name: creators
in: query
description: Return only events which feature work by the specified creators (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: characters
in: query
description: Return only events which feature the specified characters (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: series
in: query
description: Return only events which are part of the specified series (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: comics
in: query
description: Return only events which take place in the specified comics (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: stories
in: query
description: Return only events which take place in the specified stories (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: orderBy
in: query
description: Order the result set by a field or fields. Add a "-" to the value sort in descending order. Multiple values are given priority in the order in which they are passed.
required: false
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- name
- modified
- startDate
- -name
- -modified
- -startDate
- name: limit
in: query
description: Limit the result set to the specified number of resources.
required: false
schema:
type: integer
minimum: 1
maximum: 100
- name: offset
in: query
description: Skip the specified number of resources in the result set.
required: false
schema:
type: integer
responses:
"200":
description: OK response
content:
application/json:
schema:
$ref: '#/components/schemas/EventDataWrapper'
"401":
description: Unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"403":
description: Forbidden response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"404":
description: Not Found response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"405":
description: Method Not Allowed response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"409":
description: Conflict response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"429":
description: Too Many Requests response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
/v1/public/events/{eventId}:
get:
tags:
- events
summary: Fetches a single event by id.
description: This method fetches a single event resource. It is the canonical URI for any event resource provided by the API.
operationId: getEventById
parameters:
- name: eventId
in: path
description: An event id.
required: true
schema:
type: integer
responses:
"200":
description: OK response
content:
application/json:
schema:
$ref: '#/components/schemas/EventDataWrapper'
"401":
description: Unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"403":
description: Forbidden response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"404":
description: Not found response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"405":
description: Method Not Allowed response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"409":
description: Conflict response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"429":
description: Too Many Requests response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
/v1/public/events/{eventId}/characters:
get:
tags:
- characters
summary: Fetches lists of characters filtered by an event id.
description: Fetches lists of characters which appear in a specific event, with optional filters.
operationId: getCharactersByEventId
parameters:
- name: eventId
in: path
description: An event id.
required: true
schema:
type: integer
- name: name
in: query
description: Return only characters matching the specified full character name.
example: Spider-Man.
required: false
schema:
type: string
- name: nameStartsWith
in: query
description: Return characters with names that begin with the specified string.
example: Sp
required: false
schema:
type: string
- name: modifiedSince
in: query
description: Return only characters which have been modified since the specified date.
required: false
schema:
type: string
format: date
- name: comics
in: query
description: Return only characters which appear in the specified comics (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: series
in: query
description: Return only characters which appear the specified series (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: stories
in: query
description: Return only characters which appear the specified stories (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: orderBy
in: query
description: Order the result set by a field or fields. Add a "-" to the value sort in descending order. Multiple values are given priority in the order in which they are passed.
required: false
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- name
- modified
- -name
- -modified
- name: limit
in: query
description: Limit the result set to the specified number of resources.
required: false
schema:
type: integer
minimum: 1
maximum: 100
- name: offset
in: query
description: Skip the specified number of resources in the result set.
required: false
schema:
type: integer
responses:
"200":
description: OK response
content:
application/json:
schema:
$ref: '#/components/schemas/CharacterDataWrapper'
"401":
description: Unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"403":
description: Forbidden response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"404":
description: Not Found response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"405":
description: Method Not Allowed response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"409":
description: Conflict response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"429":
description: Too Many Requests response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
/v1/public/events/{eventId}/comics:
get:
tags:
- comics
summary: Fetches lists of comics filtered by an event id.
description: Fetches lists of comics which take place during a specific event, with optional filters.
operationId: getComicsByEventId
parameters:
- name: eventId
in: path
description: An event id.
required: true
schema:
type: integer
- name: format
in: query
description: Filter by the issue format.
required: false
schema:
type: string
enum:
- comic
- magazine
- trade paperback
- hardcover
- digest
- graphic novel
- digital comic
- infinite comic
- name: formatType
in: query
description: Filter by the issue format type.
required: false
schema:
type: string
enum:
- comic
- collection
- name: noVariants
in: query
description: Exclude variant comics from the result set.
required: false
style: form
explode: false
schema:
type: array
items:
type: boolean
- name: dateDescriptor
in: query
description: Return comics within a predefined date range.
required: false
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- lastWeek
- thisWeek
- nextWeek
- thisMonth
- name: dateRange
in: query
description: Return comics within a predefined date range. Dates must be specified as date1,date2. Dates are preferably formatted as YYYY-MM-DD but may be sent as any common date format.
example: 2013-01-01,2013-01-02
required: false
style: form
explode: false
schema:
type: array
items:
type: string
- name: title
in: query
description: Return only issues in series whose title matches the input.
required: false
schema:
type: string
- name: titleStartsWith
in: query
description: Return only issues in series whose title starts with the input.
required: false
schema:
type: string
- name: startYear
in: query
description: Return only issues in series whose start year matches the input.
required: false
schema:
type: integer
- name: issueNumber
in: query
description: Return only issues in series whose issue number matches the input.
required: false
schema:
type: integer
- name: diamondCode
in: query
description: Filter by diamond code.
required: false
schema:
type: string
- name: digitalId
in: query
description: Filter by digital comic id.
required: false
schema:
type: integer
- name: upc
in: query
description: Filter by UPC.
required: false
schema:
type: string
- name: isbn
in: query
description: Filter by ISBN.
required: false
schema:
type: string
- name: ean
in: query
description: Filter by EAN.
required: false
schema:
type: string
- name: issn
in: query
description: Filter by ISSN.
required: false
schema:
type: string
- name: hasDigitalIssue
in: query
description: Include only results which are available digitally.
required: false
style: form
explode: false
schema:
type: array
items:
type: boolean
- name: modifiedSince
in: query
description: Return only comics which have been modified since the specified date.
required: false
schema:
type: string
format: date
- name: creators
in: query
description: Return only comics which feature work by the specified creators (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: characters
in: query
description: Return only comics which feature the specified characters (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: series
in: query
description: Return only comics which are part of the specified series (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: events
in: query
description: Return only comics which take place in the specified events (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: stories
in: query
description: Return only comics which contain the specified stories (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: sharedAppearances
in: query
description: Return only comics in which the specified characters appear together (for example in which BOTH Spider-Man and Wolverine appear).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: collaborators
in: query
description: Return only comics in which the specified creators worked together (for example in which BOTH Stan Lee and Jack Kirby did work).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: orderBy
in: query
description: Order the result set by a field or fields. Add a "-" to the value sort in descending order. Multiple values are given priority in the order in which they are passed.
required: false
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- focDate
- onSaleDate
- title
- issueNumber
- modified
- -focDate
- -onSaleDate
- -title
- -issueNumber
- -modified
- name: limit
in: query
description: Limit the result set to the specified number of resources.
required: false
schema:
type: integer
minimum: 1
maximum: 100
- name: offset
in: query
description: Skip the specified number of resources in the result set.
required: false
schema:
type: integer
responses:
"200":
description: OK response
content:
application/json:
schema:
$ref: '#/components/schemas/ComicDataWrapper'
"401":
description: Unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"403":
description: Forbidden response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"404":
description: Not Found response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"405":
description: Method Not Allowed response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"409":
description: Conflict response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"429":
description: Too Many Requests response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
/v1/public/events/{eventId}/creators:
get:
tags:
- creators
summary: Fetches lists of creators filtered by an event id.
description: Fetches lists of comic creators whose work appears in a specific event, with optional filters.
operationId: getCreatorsByEventId
parameters:
- name: eventId
in: path
description: An event id.
required: true
schema:
type: integer
- name: firstName
in: query
description: Filter by creator first name.
example: Brian
required: false
schema:
type: string
- name: middleName
in: query
description: Filter by creator middle name.
example: Michael
required: false
schema:
type: string
- name: lastName
in: query
description: Filter by creator last name.
example: Bendis
required: false
schema:
type: string
- name: suffix
in: query
description: Filter by suffix or honorific.
example: Sr.
required: false
schema:
type: string
- name: nameStartsWith
in: query
description: Filter by creator names that match criteria.
example: B
required: false
schema:
type: string
- name: firstNameStartsWith
in: query
description: Filter by creator first names that match criteria.
example: B
required: false
schema:
type: string
- name: middleNameStartsWith
in: query
description: Filter by creator middle names that match criteria.
example: Mi
required: false
schema:
type: string
- name: lastNameStartsWith
in: query
description: Filter by creator last names that match criteria.
required: false
schema:
type: string
- name: modifiedSince
in: query
description: Return only creators which have been modified since the specified date.
required: false
schema:
type: string
format: date
- name: comics
in: query
description: Return only creators who worked on in the specified comics (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: series
in: query
description: Return only creators who worked on the specified series (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: stories
in: query
description: Return only creators who worked on the specified stories (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: orderBy
in: query
description: Order the result set by a field or fields. Add a "-" to the value sort in descending order. Multiple values are given priority in the order in which they are passed.
required: false
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- lastName
- firstName
- middleName
- suffix
- modified
- -lastName
- -firstName
- -middleName
- -suffix
- -modified
- name: limit
in: query
description: Limit the result set to the specified number of resources.
required: false
schema:
type: integer
minimum: 1
maximum: 100
- name: offset
in: query
description: Skip the specified number of resources in the result set.
required: false
schema:
type: integer
responses:
"200":
description: OK response
content:
application/json:
schema:
$ref: '#/components/schemas/CreatorDataWrapper'
"401":
description: Unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"403":
description: Forbidden response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"404":
description: Not Found response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"405":
description: Method Not Allowed response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"409":
description: Conflict response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"429":
description: Too Many Requests response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
/v1/public/events/{eventId}/series:
get:
tags:
- series
summary: Fetches lists of series filtered by an event id.
description: "Fetches lists of comic series in which a specific event takes place, with optional filters."
operationId: getSeriesByEventId
parameters:
- name: eventId
in: path
description: An event id.
required: true
schema:
type: integer
- name: title
in: query
description: Filter by series title.
required: false
schema:
type: string
- name: titleStartsWith
in: query
description: Return series with titles that begin with the specified string.
example: Sp
required: false
schema:
type: string
- name: startYear
in: query
description: Return only series matching the specified start year.
required: false
schema:
type: integer
- name: modifiedSince
in: query
description: Return only series which have been modified since the specified date.
required: false
schema:
type: string
format: date
- name: comics
in: query
description: Return only series which contain the specified comics (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: stories
in: query
description: Return only series which contain the specified stories (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: creators
in: query
description: Return only series which feature work by the specified creators (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: characters
in: query
description: Return only series which feature the specified characters (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: seriesType
in: query
description: Filter the series by publication frequency type.
required: false
schema:
type: string
enum:
- collection
- one shot
- limited
- ongoing
- name: contains
in: query
description: Return only series containing one or more comics with the specified format.
required: false
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- comic
- magazine
- trade paperback
- hardcover
- digest
- graphic novel
- digital comic
- infinite comic
- name: orderBy
in: query
description: Order the result set by a field or fields. Add a "-" to the value sort in descending order. Multiple values are given priority in the order in which they are passed.
required: false
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- title
- modified
- startYear
- -title
- -modified
- -startYear
- name: limit
in: query
description: Limit the result set to the specified number of resources.
required: false
schema:
type: integer
minimum: 1
maximum: 100
- name: offset
in: query
description: Skip the specified number of resources in the result set.
required: false
schema:
type: integer
responses:
"200":
description: OK response
content:
application/json:
schema:
$ref: '#/components/schemas/SeriesDataWrapper'
"401":
description: Unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"403":
description: Forbidden response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"404":
description: Not Found response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"405":
description: Method Not Allowed response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"409":
description: Conflict response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"429":
description: Too Many Requests response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
/v1/public/events/{eventId}/stories:
get:
tags:
- stories
summary: Fetches lists of stories filtered by an event id.
description: Fetches lists of comic stories from a specific event, with optional filters.
operationId: getStoriesByEventId
parameters:
- name: eventId
in: path
description: An event id.
required: true
schema:
type: integer
- name: modifiedSince
in: query
description: Return only stories which have been modified since the specified date.
required: false
schema:
type: string
format: date
- name: comics
in: query
description: Return only stories contained in the specified (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: series
in: query
description: Return only stories contained the specified series (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: creators
in: query
description: Return only stories which feature work by the specified creators (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: characters
in: query
description: Return only stories which feature the specified characters (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: orderBy
in: query
description: Order the result set by a field or fields. Add a "-" to the value sort in descending order. Multiple values are given priority in the order in which they are passed.
required: false
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- id
- modified
- -id
- -modified
- name: limit
in: query
description: Limit the result set to the specified number of resources.
required: false
schema:
type: integer
minimum: 1
maximum: 100
- name: offset
in: query
description: Skip the specified number of resources in the result set.
required: false
schema:
type: integer
responses:
"200":
description: OK response
content:
application/json:
schema:
$ref: '#/components/schemas/StoryDataWrapper'
"401":
description: Unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"403":
description: Forbidden response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"404":
description: Not Found response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"405":
description: Method Not Allowed response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"409":
description: Conflict response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"429":
description: Too Many Requests response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
/v1/public/series:
get:
tags:
- series
summary: Fetches lists of series.
description: Fetches lists of comic series with optional filters.
operationId: getSeries
parameters:
- name: title
in: query
description: Return only series matching the specified title.
required: false
schema:
type: string
- name: titleStartsWith
in: query
description: Return series with titles that begin with the specified string.
example: Sp
required: false
schema:
type: string
- name: startYear
in: query
description: Return only series matching the specified start year.
required: false
schema:
type: integer
- name: modifiedSince
in: query
description: Return only series which have been modified since the specified date.
required: false
schema:
type: string
format: date
- name: comics
in: query
description: Return only series which contain the specified comics (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: stories
in: query
description: Return only series which contain the specified stories (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: events
in: query
description: Return only series which have comics that take place during the specified events (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: creators
in: query
description: Return only series which feature work by the specified creators (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: characters
in: query
description: Return only series which feature the specified characters (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: seriesType
in: query
description: Filter the series by publication frequency type.
required: false
schema:
type: string
enum:
- collection
- one shot
- limited
- ongoing
- name: contains
in: query
description: Return only series containing one or more comics with the specified format.
required: false
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- comic
- magazine
- trade paperback
- hardcover
- digest
- graphic novel
- digital comic
- infinite comic
- name: orderBy
in: query
description: Order the result set by a field or fields. Add a "-" to the value sort in descending order. Multiple values are given priority in the order in which they are passed.
required: false
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- title
- modified
- startYear
- -title
- -modified
- -startYear
- name: limit
in: query
description: Limit the result set to the specified number of resources.
required: false
schema:
type: integer
minimum: 1
maximum: 100
- name: offset
in: query
description: Skip the specified number of resources in the result set.
required: false
schema:
type: integer
responses:
"200":
description: OK response
content:
application/json:
schema:
$ref: '#/components/schemas/SeriesDataWrapper'
"401":
description: Unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"403":
description: Forbidden response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"404":
description: Not Found response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"405":
description: Method Not Allowed response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"409":
description: Conflict response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"429":
description: Too Many Requests response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
/v1/public/series/{seriesId}:
get:
tags:
- series
summary: Fetches a single comic series by id.
description: This method fetches a single comic series resource. It is the canonical URI for any comic series resource provided by the API.
operationId: getSeriesById
parameters:
- name: seriesId
in: path
description: A series id.
required: true
schema:
type: integer
responses:
"200":
description: OK response
content:
application/json:
schema:
$ref: '#/components/schemas/SeriesDataWrapper'
"401":
description: Unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"403":
description: Forbidden response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"404":
description: Not Found response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"405":
description: Method Not Allowed response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"409":
description: Conflict response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"429":
description: Too Many Requests response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
/v1/public/series/{seriesId}/characters:
get:
tags:
- characters
summary: Fetches lists of characters filtered by a series id.
description: Fetches lists of characters which appear in specific series, with optional filters.
operationId: getCharactersBySeriesId
parameters:
- name: seriesId
in: path
description: A series id.
required: true
schema:
type: integer
- name: name
in: query
description: Return only characters matching the specified full character name.
example: Spider-Man
required: false
schema:
type: string
- name: nameStartsWith
in: query
description: Return characters with names that begin with the specified string.
example: Sp
required: false
schema:
type: string
- name: modifiedSince
in: query
description: Return only characters which have been modified since the specified date.
required: false
schema:
type: string
format: date
- name: comics
in: query
description: Return only characters which appear in the specified comics (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: events
in: query
description: Return only characters which appear comics that took place in the specified events (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: stories
in: query
description: Return only characters which appear the specified stories (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: orderBy
in: query
description: Order the result set by a field or fields. Add a "-" to the value sort in descending order. Multiple values are given priority in the order in which they are passed.
required: false
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- name
- modified
- -name
- -modified
- name: limit
in: query
description: Limit the result set to the specified number of resources.
required: false
schema:
type: integer
minimum: 1
maximum: 100
- name: offset
in: query
description: Skip the specified number of resources in the result set.
required: false
schema:
type: integer
responses:
"200":
description: OK response
content:
application/json:
schema:
$ref: '#/components/schemas/CharacterDataWrapper'
"401":
description: Unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"403":
description: Forbidden response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"404":
description: Not Found response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"405":
description: Method Not Allowed response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"409":
description: Conflict response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"429":
description: Too Many Requests response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
/v1/public/series/{seriesId}/comics:
get:
tags:
- comics
summary: Fetches lists of comics filtered by a series id.
description: "Fetches lists of comics which are published as part of a specific series, with optional filters."
operationId: getComicsBySeriesId
parameters:
- name: seriesId
in: path
description: A series id.
required: true
schema:
type: integer
- name: format
in: query
description: Filter by the issue format.
required: false
schema:
type: string
enum:
- comic
- magazine
- trade paperback
- hardcover
- digest
- graphic novel
- digital comic
- infinite comic
- name: formatType
in: query
description: Filter by the issue format type.
required: false
schema:
type: string
enum:
- comic
- collection
- name: noVariants
in: query
description: Exclude variant comics from the result set.
required: false
style: form
explode: false
schema:
type: array
items:
type: boolean
- name: dateDescriptor
in: query
description: Return comics within a predefined date range.
required: false
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- lastWeek
- thisWeek
- nextWeek
- thisMonth
- name: dateRange
in: query
description: Return comics within a predefined date range. Dates must be specified as date1,date2. Dates are preferably formatted as YYYY-MM-DD but may be sent as any common date format.
example: 2013-01-01,2013-01-02
required: false
style: form
explode: false
schema:
type: array
items:
type: string
- name: title
in: query
description: Return only issues in series whose title matches the input.
required: false
schema:
type: string
- name: titleStartsWith
in: query
description: Return only issues in series whose title starts with the input.
required: false
schema:
type: string
- name: startYear
in: query
description: Return only issues in series whose start year matches the input.
required: false
schema:
type: integer
- name: issueNumber
in: query
description: Return only issues in series whose issue number matches the input.
required: false
schema:
type: integer
- name: diamondCode
in: query
description: Filter by diamond code.
required: false
schema:
type: string
- name: digitalId
in: query
description: Filter by digital comic id.
required: false
schema:
type: integer
- name: upc
in: query
description: Filter by UPC.
required: false
schema:
type: string
- name: isbn
in: query
description: Filter by ISBN.
required: false
schema:
type: string
- name: ean
in: query
description: Filter by EAN.
required: false
schema:
type: string
- name: issn
in: query
description: Filter by ISSN.
required: false
schema:
type: string
- name: hasDigitalIssue
in: query
description: Include only results which are available digitally.
required: false
style: form
explode: false
schema:
type: array
items:
type: boolean
- name: modifiedSince
in: query
description: Return only comics which have been modified since the specified date.
required: false
schema:
type: string
format: date
- name: creators
in: query
description: Return only comics which feature work by the specified creators (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: characters
in: query
description: Return only comics which feature the specified characters (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: events
in: query
description: Return only comics which take place in the specified events (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: stories
in: query
description: Return only comics which contain the specified stories (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: sharedAppearances
in: query
description: Return only comics in which the specified characters appear together (for example in which BOTH Spider-Man and Wolverine appear).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: collaborators
in: query
description: Return only comics in which the specified creators worked together (for example in which BOTH Stan Lee and Jack Kirby did work).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: orderBy
in: query
description: Order the result set by a field or fields. Add a "-" to the value sort in descending order. Multiple values are given priority in the order in which they are passed.
required: false
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- focDate
- onsaleDate
- title
- issueNumber
- modified
- -focDate
- -onsaleDate
- -title
- -issueNumber
- -modified
- name: limit
in: query
description: Limit the result set to the specified number of resources.
required: false
schema:
type: integer
minimum: 1
maximum: 100
- name: offset
in: query
description: Skip the specified number of resources in the result set.
required: false
schema:
type: integer
responses:
"200":
description: OK response
content:
application/json:
schema:
$ref: '#/components/schemas/ComicDataWrapper'
"401":
description: Unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"403":
description: Forbidden response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"404":
description: Not Found response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"405":
description: Method Not Allowed response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"409":
description: Conflict response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"429":
description: Too Many Requests response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
/v1/public/series/{seriesId}/creators:
get:
tags:
- creators
summary: Fetches lists of creators filtered by a series id.
description: Fetches lists of comic creators whose work appears in a specific series, with optional filters.
operationId: getCreatorsBySeriesId
parameters:
- name: seriesId
in: path
description: A series id.
required: true
schema:
type: integer
- name: firstName
in: query
description: Filter by creator first name.
example: Brian
required: false
schema:
type: string
- name: middleName
in: query
description: Filter by creator middle name.
example: Michael
required: false
schema:
type: string
- name: lastName
in: query
description: Filter by creator last name.
example: Bendis
required: false
schema:
type: string
- name: suffix
in: query
description: Filter by suffix or honorific.
example: Sr.
required: false
schema:
type: string
- name: nameStartsWith
in: query
description: Filter by creator names that match criteria.
example: B
required: false
schema:
type: string
- name: firstNameStartsWith
in: query
description: Filter by creator first names that match criteria.
example: B
required: false
schema:
type: string
- name: middleNameStartsWith
in: query
description: Filter by creator middle names that match criteria.
example: Mi
required: false
schema:
type: string
- name: lastNameStartsWith
in: query
description: Filter by creator last names that match criteria.
example: Ben
required: false
schema:
type: string
- name: modifiedSince
in: query
description: Return only creators which have been modified since the specified date.
required: false
schema:
type: string
format: date
- name: comics
in: query
description: Return only creators who worked on in the specified comics (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: events
in: query
description: Return only creators who worked on comics that took place in the specified events (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: stories
in: query
description: Return only creators who worked on the specified stories (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: orderBy
in: query
description: Order the result set by a field or fields. Add a "-" to the value sort in descending order. Multiple values are given priority in the order in which they are passed.
required: false
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- lastName
- firstName
- middleName
- suffix
- modified
- -lastName
- -firstName
- -middleName
- -suffix
- -modified
- name: limit
in: query
description: Limit the result set to the specified number of resources.
required: false
schema:
type: integer
minimum: 1
maximum: 100
- name: offset
in: query
description: Skip the specified number of resources in the result set.
required: false
schema:
type: integer
responses:
"200":
description: OK response
content:
application/json:
schema:
$ref: '#/components/schemas/CreatorDataWrapper'
"401":
description: Unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"403":
description: Forbidden response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"404":
description: Not Found response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"405":
description: Method Not Allowed response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"409":
description: Conflict response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"429":
description: Too Many Requests response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
/v1/public/series/{seriesId}/events:
get:
tags:
- events
summary: Fetches lists of events filtered by a series id.
description: "Fetches lists of events which occur in a specific series, with optional filters."
operationId: getEventsBySeriesId
parameters:
- name: seriesId
in: path
description: A series id.
required: true
schema:
type: integer
- name: name
in: query
description: Filter the event list by name.
required: false
schema:
type: string
- name: nameStartsWith
in: query
description: Return events with names that begin with the specified string.
example: Sp
required: false
schema:
type: string
- name: modifiedSince
in: query
description: Return only events which have been modified since the specified date.
required: false
schema:
type: string
format: date
- name: creators
in: query
description: Return only events which feature work by the specified creators (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: characters
in: query
description: Return only events which feature the specified characters (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: comics
in: query
description: Return only events which take place in the specified comics (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: stories
in: query
description: Return only events which contain the specified stories (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: orderBy
in: query
description: Order the result set by a field or fields. Add a "-" to the value sort in descending order. Multiple values are given priority in the order in which they are passed.
required: false
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- name
- startDate
- modified
- -name
- -startDate
- -modified
- name: limit
in: query
description: Limit the result set to the specified number of resources.
required: false
schema:
type: integer
minimum: 1
maximum: 100
- name: offset
in: query
description: Skip the specified number of resources in the result set.
required: false
schema:
type: integer
responses:
"200":
description: OK response
content:
application/json:
schema:
$ref: '#/components/schemas/EventDataWrapper'
"409":
description: Conflict response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
/v1/public/series/{seriesId}/stories:
get:
tags:
- stories
summary: Fetches lists of stories filtered by a series id.
description: Fetches lists of comic stories from a specific series with optional filters.
operationId: getStoriesBySeriesId
parameters:
- name: seriesId
in: path
description: A series id.
required: true
schema:
type: integer
- name: modifiedSince
in: query
description: Return only stories which have been modified since the specified date.
required: false
schema:
type: string
format: date
- name: comics
in: query
description: Return only stories contained in the specified (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: events
in: query
description: Return only stories which take place during the specified events (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: creators
in: query
description: Return only stories which feature work by the specified creators (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: characters
in: query
description: Return only stories which feature the specified characters (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: orderBy
in: query
description: Order the result set by a field or fields. Add a "-" to the value sort in descending order. Multiple values are given priority in the order in which they are passed.
required: false
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- id
- modified
- -id
- -modified
- name: limit
in: query
description: Limit the result set to the specified number of resources.
required: false
schema:
type: integer
minimum: 1
maximum: 100
- name: offset
in: query
description: Skip the specified number of resources in the result set.
required: false
schema:
type: integer
responses:
"200":
description: OK response
content:
application/json:
schema:
$ref: '#/components/schemas/StoryDataWrapper'
"401":
description: Unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"403":
description: Forbidden response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"404":
description: Not Found response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"405":
description: Method Not Allowed response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"409":
description: Conflict response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"429":
description: Too Many Requests response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
/v1/public/stories:
get:
tags:
- stories
summary: Fetches lists of stories.
description: Fetches lists of comic stories with optional filters.
operationId: getStories
parameters:
- name: modifiedSince
in: query
description: Return only stories which have been modified since the specified date.
required: false
schema:
type: string
format: date
- name: comics
in: query
description: Return only stories contained in the specified (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: series
in: query
description: Return only stories contained the specified series (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: events
in: query
description: Return only stories which take place during the specified events (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: creators
in: query
description: Return only stories which feature work by the specified creators (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: characters
in: query
description: Return only stories which feature the specified characters (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: orderBy
in: query
description: Order the result set by a field or fields. Add a "-" to the value sort in descending order. Multiple values are given priority in the order in which they are passed.
required: false
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- id
- modified
- -id
- -modified
- name: limit
in: query
description: Limit the result set to the specified number of resources.
required: false
schema:
type: integer
minimum: 1
maximum: 100
- name: offset
in: query
description: Skip the specified number of resources in the result set.
required: false
schema:
type: integer
responses:
"200":
description: OK response
content:
application/json:
schema:
$ref: '#/components/schemas/StoryDataWrapper'
"401":
description: Unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"403":
description: Forbidden response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"404":
description: Not Found response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"405":
description: Method Not Allowed response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"409":
description: Conflict response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"429":
description: Too Many Requests response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
/v1/public/stories/{storyId}:
get:
tags:
- stories
summary: Fetches a single comic story by id.
description: This method fetches a single comic story resource. It is the canonical URI for any comic story resource provided by the API.
operationId: getStoryById
parameters:
- name: storyId
in: path
description: A story id.
required: true
schema:
type: integer
responses:
"200":
description: OK response
content:
application/json:
schema:
$ref: '#/components/schemas/StoryDataWrapper'
"401":
description: Unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"403":
description: Forbidden response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"404":
description: Not Found response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"405":
description: Method Not Allowed response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"409":
description: Conflict response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"429":
description: Too Many Requests response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
/v1/public/stories/{storyId}/characters:
get:
tags:
- characters
summary: Fetches lists of characters filtered by a story id.
description: "Fetches lists of comic characters appearing in a single story, with optional filters."
operationId: getCharactersByStoryId
parameters:
- name: storyId
in: path
description: A story id.
required: true
schema:
type: integer
- name: name
in: query
description: Return only characters matching the specified full character name.
example: Spider-Man
required: false
schema:
type: string
- name: nameStartsWith
in: query
description: Return characters with names that begin with the specified string.
example: Sp
required: false
schema:
type: string
- name: modifiedSince
in: query
description: Return only characters which have been modified since the specified date.
required: false
schema:
type: string
format: date
- name: comics
in: query
description: Return only characters which appear in the specified comics (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: series
in: query
description: Return only characters which appear the specified series (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: events
in: query
description: Return only characters which appear comics that took place in the specified events (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: orderBy
in: query
description: Order the result set by a field or fields. Add a "-" to the value sort in descending order. Multiple values are given priority in the order in which they are passed.
required: false
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- name
- modified
- -name
- -modified
- name: limit
in: query
description: Limit the result set to the specified number of resources.
required: false
schema:
type: integer
minimum: 1
maximum: 100
- name: offset
in: query
description: Skip the specified number of resources in the result set.
required: false
schema:
type: integer
responses:
"200":
description: OK response
content:
application/json:
schema:
$ref: '#/components/schemas/CharacterDataWrapper'
"401":
description: Unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"403":
description: Forbidden response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"404":
description: Not Found response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"405":
description: Method Not Allowed response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"409":
description: Conflict response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"429":
description: Too Many Requests response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
/v1/public/stories/{storyId}/comics:
get:
tags:
- comics
summary: Fetches lists of comics filtered by a story id.
description: Fetches lists of comics in which a specific story appears, with optional filters.
operationId: getComicsByStoryId
parameters:
- name: storyId
in: path
description: A story id.
required: true
schema:
type: integer
- name: format
in: query
description: Filter by the issue format.
required: false
schema:
type: string
enum:
- comic
- magazine
- trade paperback
- hardcover
- digest
- graphic novel
- digital comic
- infinite comic
- name: formatType
in: query
description: Filter by the issue format type.
required: false
schema:
type: string
enum:
- comic
- collection
- name: noVariants
in: query
description: Exclude variant comics from the result set.
required: false
style: form
explode: false
schema:
type: array
items:
type: boolean
- name: dateDescriptor
in: query
description: Return comics within a predefined date range.
required: false
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- lastWeek
- thisWeek
- nextWeek
- thisMonth
- name: dateRange
in: query
description: Return comics within a predefined date range. Dates must be specified as date1,date2. Dates are preferably formatted as YYYY-MM-DD but may be sent as any common date format.
example: 2013-01-01,2013-01-02
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: title
in: query
description: Return only issues in series whose title matches the input.
required: false
schema:
type: string
- name: titleStartsWith
in: query
description: Return only issues in series whose title starts with the input.
required: false
schema:
type: string
- name: startYear
in: query
description: Return only issues in series whose start year matches the input.
required: false
schema:
type: integer
- name: issueNumber
in: query
description: Return only issues in series whose issue number matches the input.
required: false
schema:
type: integer
- name: diamondCode
in: query
description: Filter by diamond code.
required: false
schema:
type: string
- name: digitalId
in: query
description: Filter by digital comic id.
required: false
schema:
type: integer
- name: upc
in: query
description: Filter by UPC.
required: false
schema:
type: string
- name: isbn
in: query
description: Filter by ISBN.
required: false
schema:
type: string
- name: ean
in: query
description: Filter by EAN.
required: false
schema:
type: string
- name: issn
in: query
description: Filter by ISSN.
required: false
schema:
type: string
- name: hasDigitalIssue
in: query
description: Include only results which are available digitally.
required: false
style: form
explode: false
schema:
type: array
items:
type: boolean
- name: modifiedSince
in: query
description: Return only comics which have been modified since the specified date.
required: false
schema:
type: string
format: date
- name: creators
in: query
description: Return only comics which feature work by the specified creators (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: characters
in: query
description: Return only comics which feature the specified characters (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: series
in: query
description: Return only comics which are part of the specified series (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: events
in: query
description: Return only comics which take place in the specified events (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: sharedAppearances
in: query
description: Return only comics in which the specified characters appear together (for example in which BOTH Spider-Man and Wolverine appear).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: collaborators
in: query
description: Return only comics in which the specified creators worked together (for example in which BOTH Stan Lee and Jack Kirby did work).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: orderBy
in: query
description: Order the result set by a field or fields. Add a "-" to the value sort in descending order. Multiple values are given priority in the order in which they are passed.
required: false
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- focDate
- onsaleDate
- title
- issueNumber
- modified
- -focDate
- -onsaleDate
- -title
- -issueNumber
- -modified
- name: limit
in: query
description: Limit the result set to the specified number of resources.
required: false
schema:
type: integer
minimum: 1
maximum: 100
- name: offset
in: query
description: Skip the specified number of resources in the result set.
required: false
schema:
type: integer
responses:
"200":
description: OK response
content:
application/json:
schema:
$ref: '#/components/schemas/ComicDataWrapper'
"401":
description: Unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"403":
description: Forbidden response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"404":
description: Not Found response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"405":
description: Method Not Allowed response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"409":
description: Conflict response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"429":
description: Too Many Requests response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
/v1/public/stories/{storyId}/creators:
get:
tags:
- creators
summary: Fetches lists of creators filtered by a story id.
description: Fetches lists of comic creators whose work appears in a specific story, with optional filters.
operationId: getCreatorsByStoryId
parameters:
- name: storyId
in: path
description: A story id.
required: true
schema:
type: integer
- name: firstName
in: query
description: Filter by creator first name.
example: Brian
required: false
schema:
type: string
- name: middleName
in: query
description: Filter by creator middle name.
example: Michael
required: false
schema:
type: string
- name: lastName
in: query
description: Filter by creator last name.
example: Bendis
required: false
schema:
type: string
- name: suffix
in: query
description: Filter by suffix or honorific.
example: Sr.
required: false
schema:
type: string
- name: nameStartsWith
in: query
description: Filter by creator names that match criteria.
example: B
required: false
schema:
type: string
- name: firstNameStartsWith
in: query
description: Filter by creator first names that match criteria.
example: B
required: false
schema:
type: string
- name: middleNameStartsWith
in: query
description: Filter by creator middle names that match criteria.
example: Mi
required: false
schema:
type: string
- name: lastNameStartsWith
in: query
description: Filter by creator last names that match criteria.
example: Ben
required: false
schema:
type: string
- name: modifiedSince
in: query
description: Return only creators which have been modified since the specified date.
required: false
schema:
type: string
format: date
- name: comics
in: query
description: Return only creators who worked on in the specified comics (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: series
in: query
description: Return only creators who worked on the specified series (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: events
in: query
description: Return only creators who worked on comics that took place in the specified events (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: orderBy
in: query
description: Order the result set by a field or fields. Add a "-" to the value sort in descending order. Multiple values are given priority in the order in which they are passed.
required: false
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- lastName
- firstName
- middleName
- suffix
- modified
- -lastName
- -firstName
- -middleName
- -suffix
- -modified
- name: limit
in: query
description: Limit the result set to the specified number of resources.
required: false
schema:
type: integer
minimum: 1
maximum: 100
- name: offset
in: query
description: Skip the specified number of resources in the result set.
required: false
schema:
type: integer
responses:
"200":
description: OK response
content:
application/json:
schema:
$ref: '#/components/schemas/CreatorDataWrapper'
"401":
description: Unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"403":
description: Forbidden response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"404":
description: Not Found response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"405":
description: Method Not Allowed response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"409":
description: Conflict response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"429":
description: Too Many Requests response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
/v1/public/stories/{storyId}/events:
get:
tags:
- events
summary: Fetches lists of events filtered by a story id.
description: Fetches lists of events in which a specific story appears, with optional filters.
operationId: getEventsByStoryId
parameters:
- name: storyId
in: path
description: A story id.
required: true
schema:
type: integer
- name: name
in: query
description: Filter the event list by name.
required: false
schema:
type: string
- name: nameStartsWith
in: query
description: Return events with names that begin with the specified string.
example: Sp
required: false
schema:
type: string
- name: modifiedSince
in: query
description: Return only events which have been modified since the specified date.
required: false
schema:
type: string
format: date
- name: creators
in: query
description: Return only events which feature work by the specified creators (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: characters
in: query
description: Return only events which feature the specified characters (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: series
in: query
description: Return only events which are part of the specified series (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: comics
in: query
description: Return only events which take place in the specified comics (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: orderBy
in: query
description: Order the result set by a field or fields. Add a "-" to the value sort in descending order. Multiple values are given priority in the order in which they are passed.
required: false
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- lastName
- firstName
- middleName
- suffix
- modified
- -lastName
- -firstName
- -middleName
- -suffix
- -modified
- name: limit
in: query
description: Limit the result set to the specified number of resources.
required: false
schema:
type: integer
minimum: 1
maximum: 100
- name: offset
in: query
description: Skip the specified number of resources in the result set.
required: false
schema:
type: integer
responses:
"200":
description: OK response
content:
application/json:
schema:
$ref: '#/components/schemas/EventDataWrapper'
"401":
description: Unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"403":
description: Forbidden response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"404":
description: Not Found response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"405":
description: Method Not Allowed response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"409":
description: Conflict response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"429":
description: Too Many Requests response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
/v1/public/stories/{storyId}/series:
get:
tags:
- series
summary: Fetches lists of series filtered by a story id.
description: Fetches lists of comic series in which the specified story takes place.
operationId: getSeriesByStoryId
parameters:
- name: storyId
in: path
description: A story id.
required: true
schema:
type: integer
- name: events
in: query
description: Return only series which have comics that take place during the specified events (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: title
in: query
description: Filter by series title.
required: false
schema:
type: string
- name: titleStartsWith
in: query
description: Return series with titles that begin with the specified string (e.g. Sp).
required: false
schema:
type: string
- name: startYear
in: query
description: Return only series matching the specified start year.
required: false
schema:
type: integer
- name: modifiedSince
in: query
description: Return only series which have been modified since the specified date.
required: false
schema:
type: string
format: date
- name: comics
in: query
description: Return only series which contain the specified comics (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: creators
in: query
description: Return only series which feature work by the specified creators (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: characters
in: query
description: Return only series which feature the specified characters (accepts a comma-separated list of ids).
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: seriesType
in: query
description: Filter the series by publication frequency type.
required: false
schema:
type: string
enum:
- collection
- one shot
- limited
- ongoing
- name: contains
in: query
description: Return only series containing one or more comics with the specified format.
required: false
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- comic
- magazine
- trade paperback
- hardcover
- digest
- graphic novel
- digital comic
- infinite comic
- name: orderBy
in: query
description: Order the result set by a field or fields. Add a "-" to the value sort in descending order. Multiple values are given priority in the order in which they are passed.
required: false
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- title
- modified
- startYear
- -title
- -modified
- -startYear
- name: limit
in: query
description: Limit the result set to the specified number of resources.
required: false
schema:
type: integer
minimum: 1
maximum: 100
- name: offset
in: query
description: Skip the specified number of resources in the result set.
required: false
schema:
type: integer
responses:
"200":
description: OK response
content:
application/json:
schema:
$ref: '#/components/schemas/SeriesDataWrapper'
"401":
description: Unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"403":
description: Forbidden response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"404":
description: Not Found response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"405":
description: Method Not Allowed response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"409":
description: Conflict response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
"429":
description: Too Many Requests response
content:
application/json:
schema:
$ref: '#/components/schemas/StandardError'
components:
schemas:
# Core Entity Representations
Character:
type: object
description: A character resource type that represents the women, men, organizations, alien species, deities, animals, non-corporeal entities, trans-dimensional manifestations, abstract personifications, and green amorphous blobs which occupy the Marvel Universe as well as various alternate universes, timelines and altered realities therein (e.g. Spider-Man).
properties:
id:
type: integer
description: The unique ID of the character resource.
name:
type: string
description: The name of the character.
description:
type: string
description: A short bio or description of the character.
modified:
type: string
description: The date the resource was most recently modified.
format: date
resourceURI:
type: string
description: The canonical URL identifier for this resource.
urls:
type: array
description: A set of public web site URLs for the resource.
items:
$ref: '#/components/schemas/Url'
thumbnail:
description: The representative image for this character.
$ref: '#/components/schemas/Image'
comics:
description: A resource list containing comics which feature this character.
$ref: '#/components/schemas/ComicList'
stories:
description: A resource list containing stories which this character appears.
$ref: '#/components/schemas/StoryList'
events:
description: A resource list containing events which this character appears.
$ref: '#/components/schemas/EventList'
series:
description: A resource list containing series in which this character appears.
$ref: '#/components/schemas/SeriesList'
required:
- id
- name
- modified
- resourceURI
- urls
- comics
- stories
- events
- series
Comic:
type: object
description: A comic book resource type that represents physical or digital products that end-users read. This definition includes individual print and digital comic issues, collections and graphic novels (e.g. Amazing Fantasy \#15).
properties:
id:
type: integer
description: The unique ID of the comic resource.
digitalId:
type: integer
description: The ID of the digital comic representation of this comic. Will be 0 if the comic is not available digitally.
title:
type: string
description: The canonical title of the comic.
issueNumber:
type: number
description: The number of the issue in the series (will generally be 0 for collection formats).
format: double
variantDescription:
type: string
description: If the issue is a variant (e.g. an alternate cover, second printing, or director\'s cut), a text description of the variant.
description:
type: string
description: The preferred description of the comic.
modified:
type: string
description: The date the resource was most recently modified.
format: date
isbn:
type: string
description: The ISBN for the comic (generally only populated for collection formats).
upc:
type: string
description: The UPC barcode number for the comic (generally only populated for periodical formats).
diamondCode:
type: string
description: The Diamond code for the comic.
ean:
type: string
description: The EAN barcode for the comic.
issn:
type: string
description: The ISSN barcode for the comic.
format:
type: string
description: The publication format of the comic (e.g. comic, hardcover, trade paperback).
pageCount:
type: integer
description: The number of story pages in the comic.
textObjects:
type: array
description: A set of descriptive text blurbs for the comic.
items:
$ref: '#/components/schemas/TextObject'
resourceURI:
type: string
description: The canonical URL identifier for this resource.
urls:
type: array
description: A set of public web site URLs for the resource.
items:
$ref: '#/components/schemas/Url'
series:
description: A summary representation of the series to which this comic belongs.
$ref: '#/components/schemas/SeriesSummary'
variants:
type: array
description: A list of variant issues for this comic (includes the "original" issue if the current issue is a variant).
items:
$ref: '#/components/schemas/ComicSummary'
collections:
type: array
description: A list of collections which include this comic (will generally be empty if the comic's format is a collection).
items:
$ref: '#/components/schemas/ComicSummary'
collectedIssues:
type: array
description: A list of issues collected in this comic (will generally be empty for periodical formats such as "comic" or "magazine").
items:
$ref: '#/components/schemas/ComicSummary'
dates:
type: array
description: A list of key dates for this comic.
items:
$ref: '#/components/schemas/ComicDate'
prices:
type: array
description: A list of prices for this comic.
items:
$ref: '#/components/schemas/ComicPrice'
thumbnail:
description: The representative image for this comic.
$ref: '#/components/schemas/Image'
images:
type: array
description: A list of promotional images associated with this comic.
items:
$ref: '#/components/schemas/Image'
creators:
description: A resource list containing creators associated with this comic.
$ref: '#/components/schemas/CreatorList'
characters:
description: A resource list containing characters which appear in this comic.
$ref: '#/components/schemas/CharacterList'
stories:
description: A resource list containing stories which appear in this comic.
$ref: '#/components/schemas/StoryList'
events:
description: A resource list containing events which this comic appears.
$ref: '#/components/schemas/EventList'
required:
- id
- digitalId
- title
- issueNumber
- variantDescription
- modified
- isbn
- upc
- diamondCode
- ean
- issn
- format
- pageCount
- textObjects
- resourceURI
- urls
- series
- variants
- collections
- collectedIssues
- dates
- prices
- images
- creators
- characters
- stories
- events
Creator:
type: object
description: A creator resource type that represents women, men and organizations who create comics (e.g. Jack Kirby). They are assigned to the specific comic stories on which they worked, but we bubble up those assignments to the issues, series and events in which the stories appear as a convenience.
properties:
id:
type: integer
description: The unique ID of the creator resource.
firstName:
type: string
description: The first name of the creator.
middleName:
type: string
description: The middle name of the creator.
lastName:
type: string
description: The last name of the creator.
suffix:
type: string
description: The suffix or honorific for the creator.
fullName:
type: string
description: The full name of the creator (a space-separated concatenation of the above four fields).
modified:
type: string
description: The date the resource was most recently modified.
format: date
resourceURI:
type: string
description: The canonical URL identifier for this resource.
urls:
type: array
description: A set of public web site URLs for the resource.
items:
$ref: '#/components/schemas/Url'
thumbnail:
description: The representative image for this creator.
$ref: '#/components/schemas/Image'
series:
description: A resource list containing series which feature work by this creator.
$ref: '#/components/schemas/SeriesList'
stories:
description: A resource list containing stories which feature work by this creator.
$ref: '#/components/schemas/StoryList'
comics:
description: A resource list containing comics which feature work by this creator.
$ref: '#/components/schemas/ComicList'
events:
description: A resource list containing events which feature work by this creator.
$ref: '#/components/schemas/EventList'
required:
- id
- firstName
- middleName
- lastName
- suffix
- fullName
- modified
- resourceURI
- urls
- series
- stories
- comics
- events
Event:
type: object
description: An event resource type that represents big, universe-altering storylines (e.g. Infinity). A comic's appearance in an event is often independent of its membership in a series.
properties:
id:
type: integer
description: The unique ID of the event resource.
title:
type: string
description: The title of the event.
description:
type: string
description: A description of the event.
resourceURI:
type: string
description: The canonical URL identifier for this resource.
urls:
type: array
description: A set of public web site URLs for the event.
items:
$ref: '#/components/schemas/Url'
modified:
type: string
description: The date the resource was most recently modified.
format: date
start:
type: string
description: The date of publication of the first issue in this event.
format: date
end:
type: string
description: The date of publication of the last issue in this event.
format: date
thumbnail:
description: The representative image for this event.
$ref: '#/components/schemas/Image'
comics:
description: A resource list containing the comics in this event.
$ref: '#/components/schemas/ComicList'
stories:
description: A resource list containing the stories in this event.
$ref: '#/components/schemas/StoryList'
series:
description: A resource list containing the series in this event.
$ref: '#/components/schemas/SeriesList'
characters:
description: A resource list containing the characters which appear in this event.
$ref: '#/components/schemas/CharacterList'
creators:
description: A resource list containing the creators whose work appears in this event.
$ref: '#/components/schemas/CreatorList'
next:
$ref: '#/components/schemas/EventSummary'
description: A summary representation of the event which follows this event.
previous:
description: A summary representation of the event which preceded this event.
$ref: '#/components/schemas/EventSummary'
required:
- id
- title
- resourceURI
- urls
- modified
- start
- end
- comics
- stories
- series
- characters
- creators
- next
- previous
Series:
type: object
description: A series resource type that represents (usually) sequentially number list of comics with the same title and volume (e.g. Uncanny X-Men). Marvel uses the year of original publication for a series as the volume number.
properties:
id:
type: integer
description: The unique ID of the series resource.
title:
type: string
description: The canonical title of the series.
description:
type: string
description: A description of the series.
resourceURI:
type: string
description: The canonical URL identifier for this resource.
urls:
type: array
description: A set of public web site URLs for the resource.
items:
$ref: '#/components/schemas/Url'
startYear:
type: integer
description: The first year of publication for the series.
endYear:
type: integer
description: The last year of publication for the series (conventionally, 2099 for ongoing series).
rating:
type: string
description: The age-appropriateness rating for the series.
modified:
type: string
description: The date the resource was most recently modified.
format: date
thumbnail:
description: The representative image for this series.
$ref: '#/components/schemas/Image'
comics:
description: A resource list containing comics in this series.
$ref: '#/components/schemas/ComicList'
stories:
description: A resource list containing stories which occur in comics in this series.
$ref: '#/components/schemas/StoryList'
events:
description: A resource list containing events which take place in comics in this series.
$ref: '#/components/schemas/EventList'
characters:
description: A resource list containing characters which appear in comics in this series.
$ref: '#/components/schemas/CharacterList'
creators:
description: A resource list containing creators whose work appears in comics in this series.
$ref: '#/components/schemas/CreatorList'
next:
description: A summary representation of the series which follows this series.
$ref: '#/components/schemas/SeriesSummary'
previous:
description: A summary representation of the series which preceded this series.
$ref: '#/components/schemas/SeriesSummary'
required:
- id
- title
- resourceURI
- urls
- startYear
- endYear
- rating
- modified
- comics
- stories
- events
- characters
- creators
Story:
type: object
description: A story resource type that represents an indivisible, reusable components of comics. Most comics have two stories - a cover and an interior story (e. g. the cover from Amazing Fantasy \#15 and the origin of Spider-Man story from that comic) - but many, such as anthology comics and collections, will have more. Stories may be re-published in several comics, but the comic in which they originally appeared will always be present as a data point.
properties:
id:
type: integer
description: The unique ID of the story resource.
title:
type: string
description: The story title.
description:
type: string
description: A short description of the story.
resourceURI:
type: string
description: The canonical URL identifier for this resource.
type:
type: string
description: The story type (e.g. interior story, cover, text story).
modified:
type: string
description: The date the resource was most recently modified.
format: date
thumbnail:
description: The representative image for this story.
$ref: '#/components/schemas/Image'
comics:
description: A resource list containing comics in which this story takes place.
$ref: '#/components/schemas/ComicList'
series:
description: A resource list containing series in which this story appears.
$ref: '#/components/schemas/SeriesList'
events:
description: A resource list containing events in which this story appears.
$ref: '#/components/schemas/EventList'
characters:
description: A resource list containing characters which appear in this story.
$ref: '#/components/schemas/CharacterList'
creators:
description: A resource list containing creators worked on this story.
$ref: '#/components/schemas/CreatorList'
originalissue:
description: A summary representation of the issue in which this story was originally published.
$ref: '#/components/schemas/ComicSummary'
required:
- id
- title
- resourceURI
- type
- modified
- comics
- series
- events
- characters
- creators
# Core Entity Summary Representations
CharacterSummary:
type: object
description: A type that represents a summary of a character resource.
properties:
resourceURI:
type: string
description: The path to the individual character resource.
name:
type: string
description: The full name of the character.
role:
type: string
description: The role of the creator in the parent entity.
required:
- resourceURI
- name
ComicSummary:
type: object
description: A type that represents a summary of a comic resource.
properties:
resourceURI:
type: string
description: The path to the individual comic resource.
name:
type: string
description: The canonical name of the comic.
required:
- resourceURI
- name
CreatorSummary:
type: object
description: A type that represents a summary of a creator resource.
properties:
resourceURI:
type: string
description: The path to the individual creator resource.
name:
type: string
description: The full name of the creator.
role:
type: string
description: The role of the creator in the parent entity.
required:
- resourceURI
- name
EventSummary:
type: object
description: A type that represents a summary of an event resource.
properties:
resourceURI:
type: string
description: The path to the individual event resource.
name:
type: string
description: The name of the event.
required:
- resourceURI
- name
SeriesSummary:
type: object
description: A type that represents a summary of a series resource.
properties:
resourceURI:
type: string
description: The path to the individual series resource.
name:
type: string
description: The canonical name of the series.
required:
- resourceURI
- name
StorySummary:
type: object
description: A type that represents a summary of a story resource.
properties:
resourceURI:
type: string
description: The path to the individual story resource.
name:
type: string
description: The canonical name of the story.
type:
type: string
description: The type of the story (interior or cover).
required:
- resourceURI
- name
- type
# Core Entity List Representations
CharacterList:
type: object
description: A resource list containing characters which appear in this story.
properties:
available:
type: integer
description: The number of total available characters in this list. Will always be greater than or equal to the "returned" value.
returned:
type: integer
description: The number of characters returned in this collection.
maximum: 20
collectionURI:
type: string
description: The path to the full list of characters in this collection.
items:
type: array
description: The list of returned characters in this collection.
items:
$ref: '#/components/schemas/CharacterSummary'
required:
- available
- returned
- collectionURI
- items
ComicList:
type: object
description: A resource list containing comics which feature this story.
properties:
available:
type: integer
description: The number of total available issues in this list. Will always be greater than or equal to the "returned" value.
returned:
type: integer
description: The number of issues returned in this collection.
maximum: 20
collectionURI:
type: string
description: The path to the full list of issues in this collection.
items:
type: array
description: The list of returned issues in this collection.
items:
$ref: '#/components/schemas/ComicSummary'
required:
- available
- returned
- collectionURI
- items
CreatorList:
type: object
description: A resource list containing creators whose work appears in this story.
properties:
available:
type: integer
description: The number of total available creators in this list. Will always be greater than or equal to the "returned" value.
returned:
type: integer
description: The number of creators returned in this collection.
maximum: 20
collectionURI:
type: string
description: The path to the full list of creators in this collection.
items:
type: array
description: The list of returned creators in this collection.
items:
$ref: '#/components/schemas/CreatorSummary'
required:
- available
- returned
- collectionURI
- items
EventList:
type: object
description: A resource list containing events which feature this story.
properties:
available:
type: integer
description: The number of total available events in this list. Will always be greater than or equal to the "returned" value.
returned:
type: integer
description: The number of events returned in this collection.
maximum: 20
collectionURI:
type: string
description: The path to the full list of events in this collection.
items:
type: array
description: The list of returned events in this collection.
items:
$ref: '#/components/schemas/EventSummary'
required:
- available
- returned
- collectionURI
- items
SeriesList:
type: object
description: A resource list containing series in which this story appears.
properties:
available:
type: integer
description: The number of total available series in this list. Will always be greater than or equal to the "returned" value.
returned:
type: integer
description: The number of series returned in this collection.
maximum: 20
collectionURI:
type: string
description: The path to the full list of series in this collection.
items:
type: array
description: The list of returned series in this collection.
items:
$ref: '#/components/schemas/SeriesSummary'
required:
- available
- returned
- collectionURI
- items
StoryList:
type: object
description: A resource list containing stories which are related to this story.
properties:
available:
type: integer
description: The number of total available stories in this list. Will always be greater than or equal to the "returned" value.
returned:
type: integer
description: The number of stories returned in this collection.
maximum: 20
collectionURI:
type: string
description: The path to the full list of stories in this collection.
items:
type: array
description: The list of returned stories in this collection.
items:
$ref: '#/components/schemas/StorySummary'
required:
- available
- returned
- collectionURI
- items
# Core Entity Container Representations
CharacterDataContainer:
type: object
description: The container for the character data.
properties:
offset:
type: integer
description: The requested offset (number of skipped results) of the call.
limit:
type: integer
description: The requested result limit.
total:
type: integer
description: The total number of resources available given the current filter set.
count:
type: integer
description: The total number of results returned by this call.
results:
type: array
description: The list of characters returned by the call.
items:
$ref: '#/components/schemas/Character'
required:
- offset
- limit
- total
- count
- results
ComicDataContainer:
type: object
description: The container for the comic data.
properties:
offset:
type: integer
description: The requested offset (number of skipped results) of the call.
limit:
type: integer
description: The requested result limit.
total:
type: integer
description: The total number of resources available given the current filter set.
count:
type: integer
description: The total number of results returned by this call.
results:
type: array
description: The list of comics returned by the call
items:
$ref: '#/components/schemas/Comic'
required:
- offset
- limit
- total
- count
- results
CreatorDataContainer:
type: object
description: A container type for lists of creators.
properties:
offset:
type: integer
description: The requested offset (number of skipped results) of the call.
limit:
type: integer
description: The requested result limit.
total:
type: integer
description: The total number of resources available given the current filter set.
count:
type: integer
description: The total number of results returned by this call.
results:
type: array
description: The list of creators returned by the call.
items:
$ref: '#/components/schemas/Creator'
required:
- offset
- limit
- total
- count
- results
EventDataContainer:
type: object
description: The container for the event data.
properties:
offset:
type: integer
description: The requested offset (number of skipped results) of the call.
limit:
type: integer
description: The requested result limit.
total:
type: integer
description: The total number of resources available given the current filter set.
count:
type: integer
description: The total number of results returned by this call.
results:
type: array
description: The list of events returned by the call
items:
$ref: '#/components/schemas/Event'
required:
- offset
- limit
- total
- count
- results
SeriesDataContainer:
type: object
description: The container for the series data.
properties:
offset:
type: integer
description: The requested offset (number of skipped results) of the call.
limit:
type: integer
description: The requested result limit.
total:
type: integer
description: The total number of resources available given the current filter set.
count:
type: integer
description: The total number of results returned by this call.
results:
type: array
description: The list of series returned by the call
items:
$ref: '#/components/schemas/Series'
required:
- offset
- limit
- total
- count
- results
StoryDataContainer:
type: object
description: The container for the story data.
properties:
offset:
type: integer
description: The requested offset (number of skipped results) of the call.
limit:
type: integer
description: The requested result limit.
total:
type: integer
description: The total number of resources available given the current filter set.
count:
type: integer
description: The total number of results returned by this call.
results:
type: array
description: The list of stories returned by the call
items:
$ref: '#/components/schemas/Story'
required:
- offset
- limit
- total
- count
- results
# Core Entity Wrapper Representations
CharacterDataWrapper:
type: object
description: The wrapper for the character data.
properties:
code:
type: integer
description: The HTTP status code of the returned result.
status:
type: string
description: A string description of the call status.
copyright:
type: string
description: The copyright notice for the returned result.
attributionText:
type: string
description: The attribution notice for this result. Please display either this notice or the contents of the attributionHTML field on all screens which contain data from the Marvel Comics API.
attributionHTML:
type: string
description: An HTML representation of the attribution notice for this result. Please display either this notice or the contents of the attributionText field on all screens which contain data from the Marvel Comics API.
data:
$ref: '#/components/schemas/CharacterDataContainer'
etag:
type: string
description: A digest value of the content returned by the call.
required:
- code
- status
- copyright
- attributionText
- attributionHTML
- data
- etag
ComicDataWrapper:
type: object
description: The wrapper for the comic data.
properties:
code:
type: integer
description: The HTTP status code of the returned result.
status:
type: string
description: A string description of the call status.
copyright:
type: string
description: The copyright notice for the returned result.
attributionText:
type: string
description: The attribution notice for this result. Please display either this notice or the contents of the attributionHTML field on all screens which contain data from the Marvel Comics API.
attributionHTML:
type: string
description: An HTML representation of the attribution notice for this result. Please display either this notice or the contents of the attributionText field on all screens which contain data from the Marvel Comics API.
data:
$ref: '#/components/schemas/ComicDataContainer'
etag:
type: string
description: A digest value of the content returned by the call.
required:
- code
- status
- copyright
- attributionText
- attributionHTML
- data
- etag
CreatorDataWrapper:
type: object
description: The wrapper for the creator data.
properties:
code:
type: integer
description: The HTTP status code of the returned result.
status:
type: string
description: A string description of the call status.
copyright:
type: string
description: The copyright notice for the returned result.
attributionText:
type: string
description: The attribution notice for this result. Please display either this notice or the contents of the attributionHTML field on all screens which contain data from the Marvel Comics API.
attributionHTML:
type: string
description: An HTML representation of the attribution notice for this result. Please display either this notice or the contents of the attributionText field on all screens which contain data from the Marvel Comics API.
data:
$ref: '#/components/schemas/CreatorDataContainer'
etag:
type: string
description: A digest value of the content returned by the call.
required:
- code
- status
- copyright
- attributionText
- attributionHTML
- data
- etag
EventDataWrapper:
type: object
description: The wrapper for the event data.
properties:
code:
type: integer
description: The HTTP status code of the returned result.
status:
type: string
description: A string description of the call status.
copyright:
type: string
description: The copyright notice for the returned result.
attributionText:
type: string
description: The attribution notice for this result. Please display either this notice or the contents of the attributionHTML field on all screens which contain data from the Marvel Comics API.
attributionHTML:
type: string
description: An HTML representation of the attribution notice for this result. Please display either this notice or the contents of the attributionText field on all screens which contain data from the Marvel Comics API.
data:
$ref: '#/components/schemas/EventDataContainer'
etag:
type: string
description: A digest value of the content returned by the call.
2025-10-05 22:05:07 +00:00
# These required fields are commented out due to a possible bug from the service, that can returns all fields as null
# when requesting events. (e. g.this happens when requesting all events without defining any filter parameter)
# required:
# - code
# - status
# - copyright
# - attributionText
# - attributionHTML
# - data
# - etag
SeriesDataWrapper:
type: object
description: The wrapper for the series data.
properties:
code:
type: integer
description: The HTTP status code of the returned result.
status:
type: string
description: A string description of the call status.
copyright:
type: string
description: The copyright notice for the returned result.
attributionText:
type: string
description: The attribution notice for this result. Please display either this notice or the contents of the attributionHTML field on all screens which contain data from the Marvel Comics API.
attributionHTML:
type: string
description: An HTML representation of the attribution notice for this result. Please display either this notice or the contents of the attributionText field on all screens which contain data from the Marvel Comics API.
data:
$ref: '#/components/schemas/SeriesDataContainer'
etag:
type: string
description: A digest value of the content returned by the call.
required:
- code
- status
- copyright
- attributionText
- attributionHTML
- data
- etag
StoryDataWrapper:
type: object
description: The wrapper for the story data.
properties:
code:
type: integer
description: The HTTP status code of the returned result.
status:
type: string
description: A string description of the call status.
copyright:
type: string
description: The copyright notice for the returned result.
attributionText:
type: string
description: The attribution notice for this result. Please display either this notice or the contents of the attributionHTML field on all screens which contain data from the Marvel Comics API.
attributionHTML:
type: string
description: An HTML representation of the attribution notice for this result. Please display either this notice or the contents of the attributionText field on all screens which contain data from the Marvel Comics API.
data:
$ref: '#/components/schemas/StoryDataContainer'
etag:
type: string
description: A digest value of the content returned by the call.
required:
- code
- status
- copyright
- attributionText
- attributionHTML
- data
- etag
# Common Structures
ComicDate:
type: object
description: A type that represents a date and time for which the comic was released.
properties:
type:
type: string
description: A description of the date (e.g. onsale date, FOC date).
date:
type: string
description: The date.
format: date
required:
- type
- date
ComicPrice:
type: object
description: A type that represents a price (e.g. print price, digital price) for the comic.
properties:
type:
type: string
description: A description of the price (e.g. print price, digital price).
price:
type: number
description: The price (all prices in USD).
format: float
required:
- type
- price
Image:
type: object
description: A type that represents an image for a resource.
properties:
path:
type: string
description: The directory path of to the image.
extension:
type: string
description: The file extension for the image.
required:
- path
- extension
TextObject:
type: object
description: A type that represents bits of descriptive text which are attached to an entity.
properties:
type:
type: string
description: The canonical type of the text object (e.g. solicit text, preview text, etc.).
language:
type: string
description: The IETF language tag (or language code) denoting which language the text object is written in.
text:
type: string
description: The text of the text object.
required:
- type
- language
- text
Url:
type: object
description: A type that represents a reference to web pages or deep links into applications. When present in a resultset, it is preferred that you use these to link back to Marvel. Many resources will have more than one representation on the web so URLs are generally presented as an array of URL resources.
properties:
type:
type: string
description: A text identifier for the URL.
url:
type: string
description: A full URL (including scheme, domain, and path).
required:
- type
- url
# Errors
StandardError:
type: object
description: A standard error type.
properties:
code:
2025-10-05 22:05:07 +00:00
type: integer
description: The HTTP status code of the returned result.
2025-10-05 22:05:07 +00:00
reason:
type: string
description: A human readable message providing more details about the error.
required:
- code