Laravel Caches API

The Caches API from Laravel — 4 operation(s) for caches.

OpenAPI Specification

laravel-caches-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Laravel Cloud Applications Caches API
  version: 0.0.1
servers:
- url: https://cloud.laravel.com/api
security:
- http: []
tags:
- name: Caches
paths:
  /caches/types:
    get:
      operationId: public.caches.types
      summary: List all available cache types with their configuration options
      tags:
      - Caches
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                        label:
                          type: string
                        regions:
                          type: array
                          items:
                            $ref: '#/components/schemas/CloudRegion'
                        sizes:
                          type: array
                          items:
                            type: object
                            properties:
                              value:
                                type: string
                              label:
                                type: string
                            required:
                            - value
                            - label
                        supports_auto_upgrade:
                          type: boolean
                      required:
                      - type
                      - label
                      - regions
                      - sizes
                      - supports_auto_upgrade
                required:
                - data
  /caches:
    get:
      operationId: public.caches.index
      description: Get a list of all caches for the authenticated organization.
      summary: List caches
      tags:
      - Caches
      parameters:
      - name: filter[type]
        in: query
        schema:
          type: string
      - name: filter[region]
        in: query
        schema:
          type: string
      - name: filter[status]
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Paginated set of `CacheResource`
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/CacheResource'
                  links:
                    type: object
                    properties:
                      first:
                        type: string
                      last:
                        type: string
                      prev:
                        type: string
                      next:
                        type: string
                  meta:
                    type: object
                    properties:
                      current_page:
                        type: integer
                        minimum: 1
                      from:
                        type:
                        - integer
                        - 'null'
                        minimum: 1
                      last_page:
                        type: integer
                        minimum: 1
                      links:
                        type: array
                        description: Generated paginator links.
                        items:
                          type: object
                          properties:
                            url:
                              type:
                              - string
                              - 'null'
                            label:
                              type: string
                            active:
                              type: boolean
                          required:
                          - url
                          - label
                          - active
                      path:
                        type:
                        - string
                        - 'null'
                        description: Base path for paginator generated URLs.
                      per_page:
                        type: integer
                        description: Number of items shown per page.
                        minimum: 0
                      to:
                        type:
                        - integer
                        - 'null'
                        description: Number of the last item in the slice.
                        minimum: 1
                      total:
                        type: integer
                        description: Total number of items being paginated.
                        minimum: 0
                    required:
                    - current_page
                    - from
                    - last_page
                    - links
                    - path
                    - per_page
                    - to
                    - total
                  included:
                    type: array
                    items:
                      $ref: '#/components/schemas/EnvironmentResource'
                required:
                - data
                - links
                - meta
        '401':
          description: An error
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error overview.
                    examples:
                    - ''
                required:
                - message
        '403':
          $ref: '#/components/responses/AuthorizationException'
    post:
      operationId: public.caches.store
      description: Create a new cache.
      summary: Create cache
      tags:
      - Caches
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StoreCacheRequest'
      responses:
        '201':
          description: '`CacheResource`'
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/CacheResource'
                  included:
                    type: array
                    items:
                      $ref: '#/components/schemas/EnvironmentResource'
                required:
                - data
        '401':
          description: An error
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error overview.
                    examples:
                    - ''
                required:
                - message
        '403':
          $ref: '#/components/responses/AuthorizationException'
        '422':
          $ref: '#/components/responses/ValidationException'
  /caches/{cache}:
    get:
      operationId: public.caches.show
      description: Get a specific cache.
      summary: Get cache
      tags:
      - Caches
      parameters:
      - name: cache
        in: path
        required: true
        description: The cache identifier
        schema:
          type: string
      responses:
        '200':
          description: '`CacheResource`'
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/CacheResource'
                  included:
                    type: array
                    items:
                      $ref: '#/components/schemas/EnvironmentResource'
                required:
                - data
        '404':
          $ref: '#/components/responses/ModelNotFoundException'
        '403':
          $ref: '#/components/responses/AuthorizationException'
    patch:
      operationId: public.caches.update
      description: Update a cache.
      summary: Update cache
      tags:
      - Caches
      parameters:
      - name: cache
        in: path
        required: true
        description: The cache identifier
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCacheRequest'
      responses:
        '200':
          description: '`CacheResource`'
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/CacheResource'
                  included:
                    type: array
                    items:
                      $ref: '#/components/schemas/EnvironmentResource'
                required:
                - data
        '404':
          $ref: '#/components/responses/ModelNotFoundException'
        '403':
          $ref: '#/components/responses/AuthorizationException'
        '422':
          $ref: '#/components/responses/ValidationException'
    delete:
      operationId: public.caches.destroy
      description: Delete a cache.
      summary: Delete cache
      tags:
      - Caches
      parameters:
      - name: cache
        in: path
        required: true
        description: The cache identifier
        schema:
          type: string
      responses:
        '204':
          description: No content
        '404':
          $ref: '#/components/responses/ModelNotFoundException'
        '403':
          $ref: '#/components/responses/AuthorizationException'
        '422':
          $ref: '#/components/responses/ValidationException'
  /caches/{cache}/metrics:
    get:
      operationId: public.caches.metrics
      description: Get metrics for a specific cache.
      summary: Get cache metrics
      tags:
      - Caches
      parameters:
      - name: cache
        in: path
        required: true
        description: The cache identifier
        schema:
          type: string
      - name: period
        in: query
        schema:
          anyOf:
          - $ref: '#/components/schemas/MetricPeriod'
          - type: 'null'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      hits_and_misses:
                        type: object
                        properties:
                          labels:
                            type: array
                            items:
                              type: string
                          average:
                            type: array
                            items:
                              type: number
                          data:
                            type: array
                            items:
                              type: object
                              properties:
                                x:
                                  type: string
                                y:
                                  type: array
                                  items:
                                    type: number
                              required:
                              - x
                              - y
                        required:
                        - labels
                        - average
                        - data
                      throughput:
                        type: object
                        properties:
                          labels:
                            type: array
                            items:
                              type: string
                          average:
                            type: array
                            items:
                              type: number
                          data:
                            type: array
                            items:
                              type: object
                              properties:
                                x:
                                  type: string
                                y:
                                  type: array
                                  items:
                                    type: number
                              required:
                              - x
                              - y
                        required:
                        - labels
                        - average
                        - data
                      size:
                        type: object
                        properties:
                          data:
                            type: array
                            items:
                              type: object
                              properties:
                                x:
                                  type: string
                                y:
                                  type: number
                              required:
                              - x
                              - y
                          total:
                            type: number
                        required:
                        - data
                        - total
                      bandwidth_usage:
                        type: object
                        properties:
                          data:
                            type: array
                            items:
                              type: object
                              properties:
                                x:
                                  type: string
                                y:
                                  type: number
                              required:
                              - x
                              - y
                          total:
                            type: number
                        required:
                        - data
                        - total
                    required:
                    - hits_and_misses
                    - throughput
                    - size
                    - bandwidth_usage
                  meta:
                    type: object
                    properties:
                      period:
                        type: string
                      available_periods:
                        type: array
                        items:
                          type: string
                    required:
                    - period
                    - available_periods
                required:
                - data
                - meta
        '404':
          $ref: '#/components/responses/ModelNotFoundException'
        '403':
          $ref: '#/components/responses/AuthorizationException'
        '422':
          $ref: '#/components/responses/ValidationException'
components:
  schemas:
    CloudRegion:
      type: string
      enum:
      - us-east-2
      - us-east-1
      - ca-central-1
      - eu-central-1
      - eu-west-1
      - eu-west-2
      - me-central-1
      - ap-southeast-1
      - ap-southeast-2
      - ap-northeast-1
      title: CloudRegion
    CacheSize:
      type: string
      enum:
      - 250mb
      - 1gb
      - 2.5gb
      - 5gb
      - 12gb
      - 50gb
      - 100gb
      - 500gb
      - valkey-flex-250mb
      - valkey-flex-1gb
      - valkey-flex-2.5gb
      - valkey-pro.250mb
      - valkey-pro.1gb
      - valkey-pro.2.5gb
      - valkey-pro.5gb
      - valkey-pro.12gb
      - valkey-pro.25gb
      - valkey-pro.50gb
      - elasticache.cache.r7g.large
      - elasticache.cache.r7g.xlarge
      - elasticache.cache.r7g.2xlarge
      - elasticache.cache.r7g.4xlarge
      - elasticache.cache.r7g.8xlarge
      - elasticache.cache.r7g.12xlarge
      - elasticache.cache.r7g.16xlarge
      - elasticache.cache.c7gn.large
      - elasticache.cache.c7gn.xlarge
      - elasticache.cache.c7gn.2xlarge
      - elasticache.cache.c7gn.4xlarge
      - elasticache.cache.c7gn.8xlarge
      - elasticache.cache.c7gn.12xlarge
      - elasticache.cache.c7gn.16xlarge
      title: CacheSize
    MetricPeriod:
      type: string
      enum:
      - 6h
      - 24h
      - 3d
      - 7d
      - 30d
      title: MetricPeriod
    Link:
      type: object
      properties:
        href:
          type: string
          format: uri
        rel:
          type: string
        describedby:
          type: string
        title:
          type: string
        type:
          type: string
        hreflang:
          anyOf:
          - type: string
          - type: array
            items:
              type: string
        meta:
          type: object
      required:
      - href
      title: Link
    BranchResourceIdentifier:
      type: object
      properties:
        type:
          type: string
          enum:
          - branches
        id:
          type: string
      required:
      - type
      - id
      title: BranchResourceIdentifier
    ApplicationResourceIdentifier:
      type: object
      properties:
        type:
          type: string
          enum:
          - applications
        id:
          type: string
      required:
      - type
      - id
      title: ApplicationResourceIdentifier
    FilesystemResourceIdentifier:
      type: object
      properties:
        type:
          type: string
          enum:
          - filesystems
        id:
          type: string
      required:
      - type
      - id
      title: FilesystemResourceIdentifier
    EnvironmentResource:
      type: object
      properties:
        id:
          type: string
        type:
          type: string
          enum:
          - environments
        attributes:
          type: object
          properties:
            name:
              type: string
            slug:
              type: string
            status:
              $ref: '#/components/schemas/EnvironmentStatus'
            created_from_automation:
              type: boolean
            vanity_domain:
              type: string
            php_major_version:
              type: string
              enum:
              - '8.2'
              - '8.3'
              - '8.4'
              - '8.5'
            build_command:
              type:
              - string
              - 'null'
            node_version:
              $ref: '#/components/schemas/NodeVersion'
            deploy_command:
              type:
              - string
              - 'null'
            uses_octane:
              type: boolean
            uses_hibernation:
              type: boolean
            hibernation_wake_up_interval:
              type:
              - integer
              - 'null'
            uses_push_to_deploy:
              type: boolean
            uses_deploy_hook:
              type: boolean
            ? ''
            : anyOf:
              - type: object
                properties:
                  environment_variables:
                    type: array
                    items:
                      type: object
                      properties:
                        key:
                          type: string
                        value:
                          type: string
                      required:
                      - key
                      - value
                required:
                - environment_variables
              - type: array
                items:
                  type: string
                minItems: 0
                maxItems: 0
                additionalItems: false
            network_settings:
              type: object
              properties:
                cache:
                  type: object
                  properties:
                    strategy:
                      type: string
                  required:
                  - strategy
                response_headers:
                  type: object
                  properties:
                    frame:
                      type: string
                    content_type:
                      type: string
                    hsts:
                      type: object
                      properties:
                        max_age:
                          type: integer
                        include_subdomains:
                          type: boolean
                        preload:
                          type: boolean
                      required:
                      - max_age
                      - include_subdomains
                      - preload
                  required:
                  - frame
                  - content_type
                  - hsts
                firewall:
                  type: object
                  properties:
                    bot_categories:
                      type: array
                      items:
                        $ref: '#/components/schemas/BotControlCategory'
                    rate_limit:
                      type: object
                      properties:
                        level:
                          $ref: '#/components/schemas/RateLimitLevel'
                        per_minute:
                          $ref: '#/components/schemas/RateLimitPerMinute'
                        4xx:
                          type: boolean
                        '429':
                          type: boolean
                      required:
                      - level
                      - per_minute
                      - 4xx
                      - '429'
                    under_attack_mode_started_at:
                      type: string
                    block_path:
                      type: boolean
                  required:
                  - bot_categories
                  - rate_limit
                  - under_attack_mode_started_at
                  - block_path
                content_converter:
                  type: boolean
              required:
              - cache
              - response_headers
              - firewall
              - content_converter
            created_at:
              type:
              - string
              - 'null'
              format: date-time
          required:
          - name
          - slug
          - status
          - created_from_automation
          - vanity_domain
          - php_major_version
          - build_command
          - node_version
          - deploy_command
          - uses_octane
          - uses_hibernation
          - hibernation_wake_up_interval
          - uses_push_to_deploy
          - uses_deploy_hook
          - null
          - network_settings
          - created_at
        relationships:
          type: object
          properties:
            application:
              type: object
              properties:
                data:
                  anyOf:
                  - $ref: '#/components/schemas/ApplicationResourceIdentifier'
                  - type: 'null'
              required:
              - data
            branch:
              type: object
              properties:
                data:
                  anyOf:
                  - $ref: '#/components/schemas/BranchResourceIdentifier'
                  - type: 'null'
              required:
              - data
            deployments:
              type: object
              properties:
                data:
                  type: array
                  items:
                    $ref: '#/components/schemas/DeploymentResourceIdentifier'
              required:
              - data
            currentDeployment:
              type: object
              properties:
                data:
                  anyOf:
                  - $ref: '#/components/schemas/DeploymentResourceIdentifier'
                  - type: 'null'
              required:
              - data
            domains:
              type: object
              properties:
                data:
                  type: array
                  items:
                    $ref: '#/components/schemas/DomainResourceIdentifier'
              required:
              - data
            primaryDomain:
              type: object
              properties:
                data:
                  anyOf:
                  - $ref: '#/components/schemas/DomainResourceIdentifier'
                  - type: 'null'
              required:
              - data
            instances:
              type: object
              properties:
                data:
                  type: array
                  items:
                    $ref: '#/components/schemas/InstanceResourceIdentifier'
              required:
              - data
            database:
              type: object
              properties:
                data:
                  anyOf:
                  - $ref: '#/components/schemas/DatabaseSchemaResourceIdentifier'
                  - type: 'null'
              required:
              - data
            cache:
              type: object
              properties:
                data:
                  anyOf:
                  - $ref: '#/components/schemas/CacheResourceIdentifier'
                  - type: 'null'
              required:
              - data
            buckets:
              type: object
              properties:
                data:
                  type: array
                  items:
                    $ref: '#/components/schemas/FilesystemResourceIdentifier'
              required:
              - data
            websocketApplication:
              type: object
              properties:
                data:
                  anyOf:
                  - $ref: '#/components/schemas/WebsocketApplicationResourceIdentifier'
                  - type: 'null'
              required:
              - data
        links:
          type: object
          properties:
            self:
              $ref: '#/components/schemas/Link'
          required:
          - self
      required:
      - id
      - type
      - links
      title: EnvironmentResource
    CacheEvictionPolicy:
      type: string
      enum:
      - allkeys-lru
      - noeviction
      - volatile-lru
      - allkeys-random
      - volatile-random
      - volatile-ttl
      - allkeys-lfu
      - volatile-lfu
      title: CacheEvictionPolicy
    InstanceResourceIdentifier:
      type: object
      properties:
        type:
          type: string
          enum:
          - instances
        id:
          type: string
      required:
      - type
      - id
      title: InstanceResourceIdentifier
    CacheResourceIdentifier:
      type: object
      properties:
        type:
          type: string
          enum:
          - caches
        id:
          type: string
      required:
      - type
      - id
      title: CacheResourceIdentifier
    WebsocketApplicationResourceIdentifier:
      type: object
      properties:
        type:
          type: string
          enum:
          - websocketApplications
        id:
          type: string
      required:
      - type
      - id
      title: WebsocketApplicationResourceIdentifier
    RateLimitLevel:
      type: string
      enum:
      - challenge
      - throttle
      - ban
      title: RateLimitLevel
    EnvironmentStatus:
      type: string
      enum:
      - deploying
      - running
      - hibernating
      - stopped
      title: EnvironmentStatus
    CacheResource:
      type: object
      properties:
        id:
          type: string
        type:
          type: string
          enum:
          - caches
        attributes:
          type: object
          properties:
            name:
              type: string
            type:
              $ref: '#/components/schemas/CacheType'
            status:
              $ref: '#/components/schemas/CacheStatus'
            region:
              $ref: '#/components/schemas/CloudRegion'
            size:
              $ref: '#/components/schemas/CacheSize'
            auto_upgrade_enabled:
              type: boolean
            is_public:
              type: boolean
            uses_hibernation:
              type: boolean
            hibernation_timeout:
              type:
              - integer
              - 'null'
            created_at:
              type:
              - string
              - 'null'
              format: date-time
            connection:
              type: object
              properties:
                hostname:
                  type:
                  - string
                  - 'null'
                port:
                  type:
                  - integer
                  - 'null'
                protocol:
                  type: string
                  enum:
                  - redis
                  - fake
                ? ''
                : anyOf:
                  - type: object
                    properties:
                      username:
                        type:
                        - string
                        - 'null'
                      password:
                        type:
                        - string
                        - 'null'
                    required:
                    - username
                    - password
                  - type: array
                    items:
                      type: string
                    minItems: 0
                    maxItems: 0
                    additionalItems: false
              required:
              - hostname
              - port
              - protocol
              - null
          required:
          - name
          - type
          - status
          - region
          - size
          - auto_upgrade_enabled
          - is_public
          - uses_hibernation
          - hibernation_timeout
          - created_at
          - connection
        relationships:
          type: object
          properties:
            environments:
              type: object
              properties:
                data:
                  type: array
                  items:
                    $ref: '#/components/schemas/EnvironmentResourceIdentifier'
              required:
              - data
      required:
      - id
      - type
      title: CacheResource
    CacheType:
      type: string
      enum:
      - upstash_redis
      - laravel_valkey
      - aws_elasticache_redis
      - aws_elasticache_valkey
      title: CacheType
    DatabaseSchemaResourceIdentifier:
      type: object
      properties:
        type:
          type: string
          enum:
          - databaseSchemas
        id:
          type: string
      required:
      - type
      - id
      title: DatabaseSchemaResourceIdentifier
    DeploymentResourceIdentifier:
      type: object
      properties:
        type:
          type: string
          enum:
          - deployments
        id:
          type: string
      required:
      - type
      - id
      title: DeploymentResourceIdentifier
    DomainResourceIdentifier:
      type: object
      properties:
        type:
          type: string
          enum:
          - domains
        id:
          type: string
      required:
      - type
      - id
      title: DomainResourceIdentifier
    CacheStatus:
      type: string
      enum:
      - creating
      - updating
      - available
      - stopped
      - deleting
      - deleted
      - unknown
      title: CacheStatus
    BotControlCategory:
      type: string
      enum:
      - academic_research
      - accessibility
      - advertising_and_marketing
      - aggregator
      - ai_assistant
      - ai_crawler
      - ai_search
      - feed_fetcher
      - monitoring_and_analytics
      - page_preview
      - search_engine_crawler
      - search_engine_optimization
      - security
      - social_media_marketing
      - webhooks
      - other
      title: BotControlCategory
    RateLimitPerMinute:
      type: integer
      enum:
      - 100
      - 300
      - 500
      - 750
      - 1000
      title: RateLimitPerMinute
    StoreCacheRequest:
      type: object
      properties:
        type:
          type: string
          enum:
          - laravel_valkey
          - upstash_redis
          - aws_elasticache_valkey
          - aws_elasticache_redis
        name:
          type: string
          pattern: ^[a-z0-9_-]+$
       

# --- truncated at 32 KB (35 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/laravel/refs/heads/main/openapi/laravel-caches-api-openapi.yml