KDP Coloring Book Auth API
The Auth API from KDP Coloring Book — 9 operation(s) for auth.
The Auth API from KDP Coloring Book — 9 operation(s) for auth.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/kdpcoloringbook-com:kdpcoloringbook-com-auth-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Book Generator Auth API
description: Backend API for the AI-powered coloring book generator.
version: 1.0.0
tags:
- name: Auth
paths:
/api/auth/register:
post:
summary: Register
operationId: register_api_auth_register_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserRegister'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/LoginResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
tags:
- Auth
/api/auth/login:
post:
summary: Login
operationId: login_api_auth_login_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserLogin'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/LoginResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
tags:
- Auth
/api/auth/google:
post:
summary: Google Auth
operationId: google_auth_api_auth_google_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleAuthRequest'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/LoginResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
tags:
- Auth
/api/auth/refresh:
post:
summary: Refresh Token
operationId: refresh_token_api_auth_refresh_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RefreshRequest'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/LoginResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
tags:
- Auth
/api/auth/me:
get:
summary: Get Current User Info
operationId: get_current_user_info_api_auth_me_get
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/UserResponse'
security:
- HTTPBearer: []
tags:
- Auth
/api/auth/password:
put:
summary: Change Current User Password
operationId: change_current_user_password_api_auth_password_put
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChangePasswordRequest'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ChangePasswordResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- HTTPBearer: []
tags:
- Auth
/api/auth/forgot-password:
post:
summary: Forgot Password
operationId: forgot_password_api_auth_forgot_password_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ForgotPasswordRequest'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ForgotPasswordResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
tags:
- Auth
/api/auth/reset-password:
post:
summary: Reset Password
operationId: reset_password_api_auth_reset_password_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ResetPasswordRequest'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ResetPasswordResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
tags:
- Auth
/api/auth/me/default-styles:
put:
summary: Update Current User Default Styles
operationId: update_current_user_default_styles_api_auth_me_default_styles_put
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateDefaultStylesRequest'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/UserResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- HTTPBearer: []
tags:
- Auth
components:
schemas:
ResetPasswordResponse:
properties:
message:
type: string
title: Message
type: object
required:
- message
title: ResetPasswordResponse
UserLogin:
properties:
email:
type: string
format: email
title: Email
password:
type: string
maxLength: 72
title: Password
type: object
required:
- email
- password
title: UserLogin
ValidationError:
properties:
loc:
items:
anyOf:
- type: string
- type: integer
type: array
title: Location
msg:
type: string
title: Message
type:
type: string
title: Error Type
type: object
required:
- loc
- msg
- type
title: ValidationError
FirstTouchAttribution:
properties:
utm_source:
anyOf:
- type: string
maxLength: 200
- type: 'null'
title: Utm Source
utm_medium:
anyOf:
- type: string
maxLength: 200
- type: 'null'
title: Utm Medium
utm_campaign:
anyOf:
- type: string
maxLength: 200
- type: 'null'
title: Utm Campaign
utm_term:
anyOf:
- type: string
maxLength: 200
- type: 'null'
title: Utm Term
utm_content:
anyOf:
- type: string
maxLength: 200
- type: 'null'
title: Utm Content
origin_channel:
anyOf:
- type: string
maxLength: 200
- type: 'null'
title: Origin Channel
origin_source:
anyOf:
- type: string
maxLength: 200
- type: 'null'
title: Origin Source
origin_landing_path:
anyOf:
- type: string
maxLength: 200
- type: 'null'
title: Origin Landing Path
type: object
title: FirstTouchAttribution
description: Consented first-touch campaign data captured at account creation.
UserResponse:
properties:
user_id:
type: string
title: User Id
email:
type: string
title: Email
name:
type: string
title: Name
created_at:
type: string
title: Created At
default_style_ids:
items:
type: string
type: array
title: Default Style Ids
auth_provider:
type: string
title: Auth Provider
default: local
subscription_plan_id:
anyOf:
- type: string
- type: 'null'
title: Subscription Plan Id
is_free:
type: boolean
title: Is Free
default: true
analytics_excluded:
type: boolean
title: Analytics Excluded
default: false
analytics_consent:
anyOf:
- type: string
- type: 'null'
title: Analytics Consent
type: object
required:
- user_id
- email
- name
- created_at
- default_style_ids
title: UserResponse
ForgotPasswordRequest:
properties:
email:
type: string
format: email
title: Email
type: object
required:
- email
title: ForgotPasswordRequest
GoogleAuthRequest:
properties:
credential:
type: string
title: Credential
terms_accepted:
type: boolean
title: Terms Accepted
default: false
attribution:
anyOf:
- $ref: '#/components/schemas/FirstTouchAttribution'
- type: 'null'
marketing_opt_in:
anyOf:
- type: boolean
- type: 'null'
title: Marketing Opt In
type: object
required:
- credential
title: GoogleAuthRequest
ChangePasswordResponse:
properties:
message:
type: string
title: Message
type: object
required:
- message
title: ChangePasswordResponse
LoginResponse:
properties:
access_token:
type: string
title: Access Token
refresh_token:
type: string
title: Refresh Token
token_type:
type: string
title: Token Type
default: bearer
user:
$ref: '#/components/schemas/UserResponse'
is_new_user:
type: boolean
title: Is New User
default: false
type: object
required:
- access_token
- refresh_token
- user
title: LoginResponse
UpdateDefaultStylesRequest:
properties:
default_style_ids:
items:
type: string
type: array
maxItems: 20
minItems: 1
title: Default Style Ids
type: object
required:
- default_style_ids
title: UpdateDefaultStylesRequest
UserRegister:
properties:
email:
type: string
format: email
title: Email
password:
type: string
maxLength: 72
minLength: 6
title: Password
name:
type: string
maxLength: 100
minLength: 2
title: Name
terms_accepted:
type: boolean
const: true
title: Terms Accepted
attribution:
anyOf:
- $ref: '#/components/schemas/FirstTouchAttribution'
- type: 'null'
marketing_opt_in:
type: boolean
title: Marketing Opt In
default: false
type: object
required:
- email
- password
- name
- terms_accepted
title: UserRegister
ForgotPasswordResponse:
properties:
message:
type: string
title: Message
type: object
required:
- message
title: ForgotPasswordResponse
RefreshRequest:
properties:
refresh_token:
type: string
title: Refresh Token
type: object
required:
- refresh_token
title: RefreshRequest
ResetPasswordRequest:
properties:
token:
type: string
maxLength: 4096
minLength: 20
title: Token
new_password:
type: string
maxLength: 72
minLength: 6
title: New Password
type: object
required:
- token
- new_password
title: ResetPasswordRequest
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
ChangePasswordRequest:
properties:
current_password:
type: string
maxLength: 72
title: Current Password
new_password:
type: string
maxLength: 72
minLength: 6
title: New Password
type: object
required:
- current_password
- new_password
title: ChangePasswordRequest
securitySchemes:
HTTPBearer:
type: http
scheme: bearer