openapi: 3.1.0 info: title: Ghost Admin Authors Images API description: The Ghost Admin API provides full read and write access to all content and configuration within a Ghost publication. It enables developers to create, update, and delete posts, pages, tags, members, tiers, newsletters, and offers programmatically. Authentication is handled via JSON Web Tokens generated from an Admin API key, integration tokens, or staff access tokens. The Admin API supports everything the Ghost Admin interface can do and more, making it suitable for building custom publishing workflows, content automation, member management systems, and advanced integrations. version: '5.0' contact: name: Ghost Foundation url: https://ghost.org/docs/admin-api/ termsOfService: https://ghost.org/terms/ servers: - url: https://{site}.ghost.io/ghost/api/admin description: Ghost Pro Hosted Site variables: site: default: your-site description: Your Ghost site subdomain - url: '{protocol}://{domain}/ghost/api/admin' description: Self-Hosted Ghost Instance variables: protocol: default: https enum: - https - http domain: default: localhost:2368 description: Your Ghost instance domain and port security: - adminApiToken: [] tags: - name: Images description: Upload images to the Ghost publication for use in posts, pages, and settings. paths: /images/upload/: post: operationId: adminUploadImage summary: Upload an image description: Upload an image file to the Ghost publication. The image is uploaded as multipart form data and the response includes the URL where the image can be accessed. tags: - Images requestBody: required: true content: multipart/form-data: schema: type: object required: - file properties: file: type: string format: binary description: The image file to upload purpose: type: string description: Purpose of the image, such as image, profile_image, or icon enum: - image - profile_image - icon ref: type: string description: Reference identifier for the image responses: '201': description: Image uploaded successfully content: application/json: schema: type: object properties: images: type: array items: type: object properties: url: type: string format: uri description: URL of the uploaded image ref: type: string description: Reference identifier nullable: true '401': $ref: '#/components/responses/Unauthorized' '415': description: Unsupported media type content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '422': $ref: '#/components/responses/ValidationError' components: responses: ValidationError: description: Request body validation failed content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' Unauthorized: description: Authentication failed or token is missing or invalid content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' schemas: ErrorResponse: type: object description: Standard Ghost API error response properties: errors: type: array items: type: object properties: message: type: string description: Human-readable error message type: type: string description: Error type identifier context: type: string description: Additional error context nullable: true securitySchemes: adminApiToken: type: http scheme: bearer bearerFormat: JWT description: JSON Web Token generated from an Admin API key. The key is split into an ID and secret at the colon separator. The ID is used as the kid header and the secret is used to sign the token with HS256. externalDocs: description: Ghost Admin API Documentation url: https://ghost.org/docs/admin-api/