> ## Documentation Index
> Fetch the complete documentation index at: https://buttercms.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Retrieve Author

> Retrieve detailed author information by slug, including profile data and optional recent posts.

Retrieve detailed information about a specific author by their unique slug identifier, including complete profile data and optional recent posts integration.

**Author Profile Information**: Returns comprehensive author profile including personal details (name, email, bio, title), complete social media profiles (LinkedIn, Facebook, Pinterest, Instagram, Twitter), profile image CDN URL, and unique slug identifier for URL-friendly referencing.

**Recent Posts Integration**: Use the `include=recent_posts` parameter to enrich the response with the author's most recent blog posts. This is particularly useful for creating detailed author profile pages that showcase both their biography and latest content contributions.


## OpenAPI

````yaml /api/openapi/read_api.yaml get /authors/{slug}/
openapi: 3.1.0
info:
  title: ButterCMS Read API
  version: 2.0.0
  description: >
    Read endpoints for the ButterCMS API — Pages, Collections, Blog Posts, Blog
    Metadata, and Feeds.
  contact:
    email: support@buttercms.com
  license:
    name: ButterCMS Terms of Service
    url: https://buttercms.com/terms/
servers:
  - url: https://api.buttercms.com/v2
    description: ButterCMS API v2
security:
  - readTokenAuthHeader: []
  - readTokenAuthQuery: []
tags:
  - name: Pages
    description: >
      Retrieve pages from your ButterCMS account.


      **Single Pages**: Use `*` as the page_type to get Single Pages (those
      without a Page Type) which represent unique pages on your site like your
      Homepage. Useful for creating your sitemap.xml.


      **Page Type Pages**: Use the actual page type slug to get pages of that
      specific type. Page Types allow you to create many pages with the same
      structure.


      **Note:** The fields of a page are defined by you, they are customizable.
      Sample responses below contain a basic set of fields for illustrative
      purposes.
  - name: Collections
    description: >
      Retrieve collection items from your ButterCMS account. Collections are
      flexible, user-defined content structures with completely customizable
      field schemas.


      See also: Architecture & Performance for guidance on `levels`, pagination,
      and performance best practices.
  - name: Blog posts
    description: >
      Retrieve blog posts from your ButterCMS account. List blog posts with
      pagination and filtering options, or retrieve individual posts by slug.
  - name: Blog metadata
    description: >
      Retrieve blog-related metadata including authors, categories, and tags.
      These endpoints provide access to the organizational structure of your
      blog content.
  - name: Feeds and utilities
    description: >
      Generate XML feeds for content syndication and SEO.


      - **RSS Feed**: Fully generated RSS 2.0 feed for your blog

      - **Atom Feed**: Standards-compliant Atom 1.0 feed

      - **Sitemap**: XML sitemap for search engine discovery


      All feeds can be filtered by category or tag and include only published
      content from your organization.
  - name: Images - Info
    description: >
      ButterCMS has an integration with
      [Filestack](https://www.filestack.com/docs/api/processing/) for image
      transformations. You can leverage their robust set of image transformation
      capabilities.


      After you upload an image, to create a thumbnail, here's an example:


      - **Original URL**: `https://cdn.buttercms.com/3ccPHhYHTNK2zQ14gCOy`

      - **Thumbnail URL**:
      `https://cdn.buttercms.com/resize=width:100,height:100/3ccPHhYHTNK2zQ14gCOy`


      For complete transformation options and parameters, see the [full
      Filestack documentation](https://www.filestack.com/docs/api/processing/).
paths:
  /authors/{slug}/:
    get:
      tags:
        - Blog metadata
      summary: Retrieve Author
      description: >
        Retrieve detailed information about a specific author by their unique
        slug identifier, including complete profile data and optional recent
        posts integration.


        **Author Profile Information**: Returns comprehensive author profile
        including personal details (name, email, bio, title), complete social
        media profiles (LinkedIn, Facebook, Pinterest, Instagram, Twitter),
        profile image CDN URL, and unique slug identifier for URL-friendly
        referencing.


        **Recent Posts Integration**: Use the `include=recent_posts` parameter
        to enrich the response with the author's most recent blog posts. This is
        particularly useful for creating detailed author profile pages that
        showcase both their biography and latest content contributions.
      operationId: retrieveAuthor
      parameters:
        - name: slug
          in: path
          required: true
          schema:
            type: string
            maxLength: 100
          description: |
            The unique slug identifier of the author to retrieve.

            Must match an existing author slug in your organization.
          example: jennifer-smith
        - $ref: '#/components/parameters/auth_token'
        - name: include
          in: query
          required: false
          schema:
            type: string
            enum:
              - recent_posts
          description: >
            Include additional data in the response.


            When set to `recent_posts`, the author object will include a
            `recent_posts` array containing their latest blog posts.
          example: recent_posts
        - name: locale
          in: query
          description: >
            Filter the embedded `recent_posts` list to posts in the given locale
            (e.g. `en`, `es`). The author itself is shared across locales and is
            always returned. When omitted, defaults to your organization's
            default locale.


            Returns `400` if the value is not a locale configured on your
            organization.
          required: false
          schema:
            type: string
            maxLength: 10
          example: en
      responses:
        '200':
          description: Author retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RetrieveAuthorResponse'
              examples:
                basic_author:
                  summary: Basic author information
                  value:
                    data:
                      slug: jennifer-smith
                      first_name: Jennifer
                      last_name: Smith
                      email: jennifersmith@buttercms.com
                      bio: I love coffee!
                      title: President
                      linkedin_url: https://www.linkedin.com/in/jennifersmith
                      facebook_url: https://www.facebook.com/jennifersmith
                      pinterest_url: https://www.pinterest.com/jennifersmith
                      instagram_url: https://www.instagram.com/jennifersmith
                      twitter_handle: jennifersmith
                      profile_image: >-
                        https://d2devwt40at1e2.cloudfront.net/api/file/etSDYJUIFDADGEEAQ.png
                author_with_posts:
                  summary: Author with recent posts included
                  value:
                    data:
                      slug: jennifer-smith
                      first_name: Jennifer
                      last_name: Smith
                      email: jennifersmith@buttercms.com
                      bio: I love coffee!
                      title: President
                      linkedin_url: https://www.linkedin.com/in/jennifersmith
                      facebook_url: https://www.facebook.com/jennifersmith
                      pinterest_url: https://www.pinterest.com/jennifersmith
                      instagram_url: https://www.instagram.com/jennifersmith
                      twitter_handle: jennifersmith
                      profile_image: >-
                        https://d2devwt40at1e2.cloudfront.net/api/file/etSDYJUIFDADGEEAQ.png
                      recent_posts:
                        - slug: leadership-principles
                          title: Key Leadership Principles for Success
                          published: '2024-01-20T09:00:00.000Z'
                        - slug: coffee-productivity
                          title: How Coffee Boosts Productivity
                          published: '2024-01-15T14:30:00.000Z'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '404':
          description: Not Found - Author not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                author_not_found:
                  summary: Author not found
                  value:
                    detail: Not found.
      security:
        - readTokenAuthHeader: []
        - readTokenAuthQuery: []
components:
  parameters:
    auth_token:
      name: auth_token
      in: query
      required: false
      schema:
        type: string
      description: |
        Your ButterCMS read API token
      example: your_api_token
  schemas:
    RetrieveAuthorResponse:
      type: object
      description: Response structure for retrieving a single author
      properties:
        data:
          $ref: '#/components/schemas/AuthorObject'
          description: Single author object
    ErrorResponse:
      type: object
      properties:
        detail:
          type: string
          description: Error message describing what went wrong
          example: Authentication credentials were not provided
    AuthorObject:
      type: object
      description: Complete author information with optional recent posts
      properties:
        slug:
          type: string
          description: Unique identifier/slug for the author
          example: api-test
        first_name:
          type: string
          description: Author's first name
          example: API
        last_name:
          type: string
          description: Author's last name
          example: Test
        email:
          type: string
          format: email
          description: Author's email address
          example: apitest@buttercms.com
        bio:
          type: string
          description: Author's biography/description
          example: This is my bio.
        title:
          type: string
          description: Author's professional title
          example: API
        linkedin_url:
          type:
            - string
            - 'null'
          format: uri
          description: Author's LinkedIn profile URL
          example: https://www.linkedin.com/in/API
        facebook_url:
          type:
            - string
            - 'null'
          format: uri
          description: Author's Facebook profile URL
          example: https://www.facebook.com/API
        pinterest_url:
          type:
            - string
            - 'null'
          format: uri
          description: Author's Pinterest profile URL
          example: https://www.pinterest.com/API
        instagram_url:
          type:
            - string
            - 'null'
          format: uri
          description: Author's Instagram profile URL
          example: https://www.instagram.com/API
        twitter_handle:
          type: string
          description: Author's Twitter handle (without @ symbol)
          example: buttercmsapi
        profile_image:
          type:
            - string
            - 'null'
          format: uri
          description: CDN URL of author's profile image
          example: https://buttercms.com/api.png
        recent_posts:
          type: array
          items:
            $ref: '#/components/schemas/AuthorRecentPost'
          description: >-
            Array of recent posts by this author (only included when
            include=recent_posts parameter is used)
    AuthorRecentPost:
      type: object
      description: Simplified blog post information for author's recent posts
      properties:
        slug:
          type: string
          description: Blog post slug/identifier
          example: web-development-trends-2024
        title:
          type: string
          description: Blog post title
          example: Web Development Trends in 2024
        published:
          type: string
          format: date-time
          description: Publication date and time in ISO 8601 format
          example: '2024-01-15T10:00:00.000Z'
  responses:
    UnauthorizedResponse:
      description: Unauthorized - Invalid or missing API token
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            missing_token:
              summary: Missing API token
              value:
                detail: Authentication credentials were not provided
            invalid_token:
              summary: Invalid API token
              value:
                detail: Invalid token
  securitySchemes:
    readTokenAuthHeader:
      type: apiKey
      in: header
      name: Authorization
      description: |
        Set the `Authorization` header to `Token your_read_api_token`.

        Example: `Authorization: Token abc123def456`

        Note: The header value includes the `Token` prefix.

        You can access your API token from your settings page.
    readTokenAuthQuery:
      type: apiKey
      in: query
      name: auth_token
      description: >
        Pass your API token via the `auth_token` parameter on every request:
        `?auth_token=your_read_api_token`.


        You can access your API token from your settings page.


        Requests made with a missing or invalid token will get a 401
        Unauthorized response. All requests must be made over HTTPS.

````