openapi: 3.0.0
info:
  title: Repository Endpoints
  description: >-
    To interract with API, you will need to provide a valid API Key generated on
    [https://dashboard.wp-content.io/](https://dashboard.wp-content.io/).


    Scope will be indicated in each sections. The REST API is build on CRUD
    model and each permission of scope is linked to a method :


    | **Method** | **Permission** |

    | --- | --- |

    | GET | read |

    | PATCH | update |

    | POST | create |

    | DELETE | delete |
  version: 1.0.0
servers:
  - url: https://registry.wp-content.io
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-KEY
security:
  - ApiKeyAuth: []
tags:
  - name: Repository
  - name: Plugins
    description: >-
      This section presents all the endpoints for managing plugins and their
      versions.  


      Scope required : `plugins`
  - name: Plugin Versions
  - name: Themes
    description: >-
      This section presents all the endpoints for managing plugins and their
      versions.  


      Scope required : `plugins`
  - name: Theme Versions
paths:
  /:
    get:
      tags:
        - Repository
      summary: Repository status
      security:
        - noauthAuth: []
      responses:
        '200':
          description: OK
          headers:
            Date:
              schema:
                type: string
                example: Wed, 11 Jun 2025 09:23:52 GMT
            Server:
              schema:
                type: string
                example: Apache
            Cache-Control:
              schema:
                type: string
                example: no-store, max-age=0, no-cache
            Access-Control-Allow-Origin:
              schema:
                type: string
                example: '*'
            Debugbar-Time:
              schema:
                type: number
                example: '1749633832.442464'
            Debugbar-Link:
              schema:
                type: string
                example: >-
                  http://localhost:8080/index.php?debugbar_time=1749633832.442464
            Content-Length:
              schema:
                type: integer
                example: '68'
            Keep-Alive:
              schema:
                type: string
                example: timeout=5, max=100
            Connection:
              schema:
                type: string
                example: Keep-Alive
            Content-Type:
              schema:
                type: string
                example: application/json; charset=UTF-8
          content:
            application/json:
              schema:
                type: object
              example:
                repository: https://registry.wp-content.io/
                version: 1.0-b71
  /author:
    get:
      tags:
        - Repository
      summary: Profile
      responses:
        '200':
          description: OK
          headers:
            Date:
              schema:
                type: string
                example: Wed, 11 Jun 2025 08:49:32 GMT
            Server:
              schema:
                type: string
                example: Apache
            Cache-Control:
              schema:
                type: string
                example: no-store, max-age=0, no-cache
            Access-Control-Allow-Origin:
              schema:
                type: string
                example: '*'
            Debugbar-Time:
              schema:
                type: number
                example: '1749631772.388426'
            Debugbar-Link:
              schema:
                type: string
                example: >-
                  http://localhost:8080/index.php?debugbar_time=1749631772.388426
            Content-Length:
              schema:
                type: integer
                example: '65'
            Keep-Alive:
              schema:
                type: string
                example: timeout=5, max=100
            Connection:
              schema:
                type: string
                example: Keep-Alive
            Content-Type:
              schema:
                type: string
                example: application/json; charset=UTF-8
          content:
            application/json:
              schema:
                type: object
              example:
                Author: ACME
                Author URI: https://example.com
  /plugins:
    get:
      tags:
        - Plugins
      summary: List all plugins
      description: >-
        Retrieve the list of plugins published in the organization. The response
        format is compatible with official Wordpress Repository format.
      parameters:
        - name: paged
          in: query
          schema:
            type: integer
          description: Page queried
          example: '1'
        - name: per_page
          in: query
          schema:
            type: integer
          description: Number of results per page
          example: '36'
      responses:
        '200':
          description: OK
          headers:
            Date:
              schema:
                type: string
                example: Wed, 11 Jun 2025 09:20:20 GMT
            Server:
              schema:
                type: string
                example: Apache
            Cache-Control:
              schema:
                type: string
                example: no-store, max-age=0, no-cache
            Access-Control-Allow-Origin:
              schema:
                type: string
                example: '*'
            Debugbar-Time:
              schema:
                type: number
                example: '1749633620.550268'
            Debugbar-Link:
              schema:
                type: string
                example: >-
                  http://localhost:8080/index.php?debugbar_time=1749633620.550268
            Content-Length:
              schema:
                type: integer
                example: '1242'
            Keep-Alive:
              schema:
                type: string
                example: timeout=5, max=100
            Connection:
              schema:
                type: string
                example: Keep-Alive
            Content-Type:
              schema:
                type: string
                example: application/json; charset=UTF-8
          content:
            application/json:
              schema:
                type: object
              examples:
                example-0:
                  summary: 200 - Success
                  value:
                    info:
                      page: 1
                      pages: 1
                      results: 1
                    plugins:
                      - name: My Plugin
                        slug: my-plugin
                        version: 1.0.1
                        author: <a href="https://example.com" target="_blank">ACME</a>
                        author_profile: https://example.com
                        short_description: ''
                        rating: 0
                        num_ratings: 0
                        active_installs: 0
                        requires: ''
                        tested: null
                        requires_php: ''
                        download_link: >-
                          https://wp-content-staging.s3.fr-par.scw.cloud/artifacts/plugins/my-plugin/my-plugin-1.0.1-6af596f11972bae336f7bcfdd03fdd1e.zip?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=SCWWGDYXD218Y70RWTJW%2F20250611%2Ffr-par%2Fs3%2Faws4_request&X-Amz-Date=20250611T092020Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=0f0aa561eb6b206230d472d3db4d8320b8ed364c68ad4cadf88c9726a89752d3
                        icons:
                          default: http://localhost:8080/images/icon-placeholder.png
                        added: '2025-06-11'
                        last_updated: 2025-06-11 9:16am UTC
                example-1:
                  summary: 200 - Success with no plugins
                  value:
                    info:
                      page: 1
                      pages: 0
                      results: 0
                    plugins: []
    post:
      tags:
        - Plugins
      summary: Upload a plugin
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                plugin:
                  type: string
                  description: Artifact for create or update a plugin
                  format: binary
                release_notes:
                  type: string
                  description: Release notes of the version
                  example: First release
      responses:
        '200':
          description: OK
          headers:
            Date:
              schema:
                type: string
                example: Wed, 11 Jun 2025 09:05:12 GMT
            Server:
              schema:
                type: string
                example: Apache
            Cache-Control:
              schema:
                type: string
                example: no-store, max-age=0, no-cache
            Access-Control-Allow-Origin:
              schema:
                type: string
                example: '*'
            Debugbar-Time:
              schema:
                type: number
                example: '1749632713.362701'
            Debugbar-Link:
              schema:
                type: string
                example: >-
                  http://localhost:8080/index.php?debugbar_time=1749632713.362701
            Content-Length:
              schema:
                type: integer
                example: '974'
            Keep-Alive:
              schema:
                type: string
                example: timeout=5, max=100
            Connection:
              schema:
                type: string
                example: Keep-Alive
            Content-Type:
              schema:
                type: string
                example: application/json; charset=UTF-8
          content:
            application/json:
              schema:
                type: object
              example:
                name: My Plugin
                slug: my-plugin
                version: 1.0.1
                author: <a href="https://example.com" target="_blank">ACME</a>
                author_profile: https://example.com
                short_description: ''
                rating: 0
                num_ratings: 0
                active_installs: 0
                requires: ''
                tested: null
                requires_php: ''
                download_link: >-
                  https://wp-content-staging.s3.fr-par.scw.cloud/artifacts/plugins/my-plugin/my-plugin-1.0.1-6af596f11972bae336f7bcfdd03fdd1e.zip
                icons:
                  default: http://localhost:8080/images/icon-placeholder.png
                added: '2025-06-11'
                last_updated: 2025-06-11 9:05am UTC
        '201':
          description: Created
          headers:
            Date:
              schema:
                type: string
                example: Wed, 11 Jun 2025 09:02:11 GMT
            Server:
              schema:
                type: string
                example: Apache
            Cache-Control:
              schema:
                type: string
                example: no-store, max-age=0, no-cache
            Access-Control-Allow-Origin:
              schema:
                type: string
                example: '*'
            Debugbar-Time:
              schema:
                type: number
                example: '1749632533.033490'
            Debugbar-Link:
              schema:
                type: string
                example: >-
                  http://localhost:8080/index.php?debugbar_time=1749632533.033490
            Content-Length:
              schema:
                type: integer
                example: '974'
            Keep-Alive:
              schema:
                type: string
                example: timeout=5, max=100
            Connection:
              schema:
                type: string
                example: Keep-Alive
            Content-Type:
              schema:
                type: string
                example: application/json; charset=UTF-8
          content:
            application/json:
              schema:
                type: object
              example:
                name: My Plugin
                slug: my-plugin
                version: 1.0.0
                author: <a href="https://example.com" target="_blank">ACME</a>
                author_profile: https://example.com
                short_description: ''
                rating: 0
                num_ratings: 0
                active_installs: 0
                requires: ''
                tested: null
                requires_php: ''
                download_link: >-
                  https://wp-content-staging.s3.fr-par.scw.cloud/artifacts/plugins/my-plugin/my-plugin-1.0.0-81ae9121fde9f29c489c72dd3d8d9377.zip
                icons:
                  default: http://localhost:8080/images/icon-placeholder.png
                added: '2025-06-11'
                last_updated: 2025-06-11 9:02am UTC
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
              examples:
                example-0:
                  summary: 400 - Wrong Update URI hostname provided
                  value:
                    status: 400
                    error: 400
                    messages:
                      error: Update URI hostname must match registry.wp-content.io.
                example-1:
                  summary: 400 - Wrong version number
                  value:
                    status: 400
                    error: 400
                    messages:
                      version: >-
                        Invalid version 1.0.1. You must upload a version greater
                        than 1.0.1 (latest).
        '403':
          description: Forbidden
          headers:
            Date:
              schema:
                type: string
                example: Wed, 11 Jun 2025 09:00:24 GMT
            Server:
              schema:
                type: string
                example: Apache
            Cache-Control:
              schema:
                type: string
                example: no-store, max-age=0, no-cache
            Access-Control-Allow-Origin:
              schema:
                type: string
                example: '*'
            Debugbar-Time:
              schema:
                type: number
                example: '1749632425.134969'
            Debugbar-Link:
              schema:
                type: string
                example: >-
                  http://localhost:8080/index.php?debugbar_time=1749632425.134969
            Content-Length:
              schema:
                type: integer
                example: '93'
            Keep-Alive:
              schema:
                type: string
                example: timeout=5, max=100
            Connection:
              schema:
                type: string
                example: Keep-Alive
            Content-Type:
              schema:
                type: string
                example: application/json; charset=UTF-8
          content:
            application/json:
              schema:
                type: object
              example:
                status: 403
                error: 403
                messages:
                  error: Forbidden
  /plugins/{slug}:
    get:
      tags:
        - Plugins
      summary: Get plugin details
      description: Retrieve detailed information about a plugin from the organization.
      parameters:
        - name: slug
          in: path
          schema:
            type: string
          required: true
          description: Slug of plugin
          example: my-plugin
      responses:
        '200':
          description: OK
          headers:
            Date:
              schema:
                type: string
                example: Wed, 11 Jun 2025 09:07:31 GMT
            Server:
              schema:
                type: string
                example: Apache
            Cache-Control:
              schema:
                type: string
                example: no-store, max-age=0, no-cache
            Access-Control-Allow-Origin:
              schema:
                type: string
                example: '*'
            Debugbar-Time:
              schema:
                type: number
                example: '1749632851.530650'
            Debugbar-Link:
              schema:
                type: string
                example: >-
                  http://localhost:8080/index.php?debugbar_time=1749632851.530650
            Content-Length:
              schema:
                type: integer
                example: '1310'
            Keep-Alive:
              schema:
                type: string
                example: timeout=5, max=100
            Connection:
              schema:
                type: string
                example: Keep-Alive
            Content-Type:
              schema:
                type: string
                example: application/json; charset=UTF-8
          content:
            application/json:
              schema:
                type: object
              example:
                name: My Plugin
                slug: my-plugin
                version: 1.0.0
                author: <a href="https://example.com" target="_blank">ACME</a>
                author_profile: https://example.com
                short_description: ''
                rating: 0
                num_ratings: 0
                active_installs: 0
                requires: ''
                tested: null
                requires_php: ''
                download_link: >-
                  https://wp-content-staging.s3.fr-par.scw.cloud/artifacts/plugins/my-plugin/my-plugin-1.0.0-81ae9121fde9f29c489c72dd3d8d9377.zip
                icons:
                  default: http://localhost:8080/images/icon-placeholder.png
                added: '2025-06-11'
                last_updated: 2025-06-11 9:07am UTC
                sections:
                  description: <p></p>
                  changelog: |-
                    <h4>1.0.0</h4>
                    <p>First release</p>
                    <em>Release date : 2025-06-11 09:07:10</em>
                versions:
                  1.0.0: >-
                    https://wp-content-staging.s3.fr-par.scw.cloud/artifacts/plugins/my-plugin/my-plugin-1.0.0-81ae9121fde9f29c489c72dd3d8d9377.zip
        '404':
          description: Not Found
          headers:
            Date:
              schema:
                type: string
                example: Wed, 11 Jun 2025 09:07:59 GMT
            Server:
              schema:
                type: string
                example: Apache
            Cache-Control:
              schema:
                type: string
                example: no-store, max-age=0, no-cache
            Access-Control-Allow-Origin:
              schema:
                type: string
                example: '*'
            Debugbar-Time:
              schema:
                type: number
                example: '1749632879.969847'
            Debugbar-Link:
              schema:
                type: string
                example: >-
                  http://localhost:8080/index.php?debugbar_time=1749632879.969847
            Content-Length:
              schema:
                type: integer
                example: '101'
            Keep-Alive:
              schema:
                type: string
                example: timeout=5, max=100
            Connection:
              schema:
                type: string
                example: Keep-Alive
            Content-Type:
              schema:
                type: string
                example: application/json; charset=UTF-8
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                error: 404
                messages:
                  error: Plugin not found.
    patch:
      tags:
        - Plugins
      summary: Update plugin informations
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                icon_default: https://placehold.co/256x256
                banner_low: https://placehold.co/772x250
                banner_high: https://placehold.co/1544x500
      parameters:
        - name: slug
          in: path
          schema:
            type: string
          required: true
          description: Slug of plugin
          example: my-plugin
      responses:
        '200':
          description: OK
          headers:
            Date:
              schema:
                type: string
                example: Wed, 11 Jun 2025 09:08:54 GMT
            Server:
              schema:
                type: string
                example: Apache
            Cache-Control:
              schema:
                type: string
                example: no-store, max-age=0, no-cache
            Access-Control-Allow-Origin:
              schema:
                type: string
                example: '*'
            Debugbar-Time:
              schema:
                type: number
                example: '1749632934.493245'
            Debugbar-Link:
              schema:
                type: string
                example: >-
                  http://localhost:8080/index.php?debugbar_time=1749632934.493245
            Content-Length:
              schema:
                type: integer
                example: '1429'
            Keep-Alive:
              schema:
                type: string
                example: timeout=5, max=100
            Connection:
              schema:
                type: string
                example: Keep-Alive
            Content-Type:
              schema:
                type: string
                example: application/json; charset=UTF-8
          content:
            application/json:
              schema:
                type: object
              example:
                name: My Plugin
                slug: my-plugin
                version: 1.0.0
                author: <a href="https://example.com" target="_blank">ACME</a>
                author_profile: https://example.com
                short_description: ''
                rating: 0
                num_ratings: 0
                active_installs: 0
                requires: ''
                tested: null
                requires_php: ''
                download_link: >-
                  https://wp-content-staging.s3.fr-par.scw.cloud/artifacts/plugins/my-plugin/my-plugin-1.0.0-81ae9121fde9f29c489c72dd3d8d9377.zip
                icons:
                  default: http://localhost:8080/images/icon-placeholder.png
                added: '2025-06-11'
                last_updated: 2025-06-11 9:08am UTC
                banners:
                  low: https://placehold.co/772x250
                  high: https://placehold.co/1544x500
                sections:
                  description: <p></p>
                  changelog: |-
                    <h4>1.0.0</h4>
                    <p>First release</p>
                    <em>Release date : 2025-06-11 09:07:10</em>
                versions:
                  1.0.0: >-
                    https://wp-content-staging.s3.fr-par.scw.cloud/artifacts/plugins/my-plugin/my-plugin-1.0.0-81ae9121fde9f29c489c72dd3d8d9377.zip
    delete:
      tags:
        - Plugins
      summary: Delete a plugin
      description: Delete a plugin organization.
      parameters:
        - name: slug
          in: path
          schema:
            type: string
          required: true
          description: Slug of plugin
          example: my-plugin
      responses:
        '200':
          description: OK
          headers:
            Date:
              schema:
                type: string
                example: Wed, 11 Jun 2025 09:10:48 GMT
            Server:
              schema:
                type: string
                example: Apache
            Cache-Control:
              schema:
                type: string
                example: no-store, max-age=0, no-cache
            Access-Control-Allow-Origin:
              schema:
                type: string
                example: '*'
            Debugbar-Time:
              schema:
                type: number
                example: '1749633049.066147'
            Debugbar-Link:
              schema:
                type: string
                example: >-
                  http://localhost:8080/index.php?debugbar_time=1749633049.066147
            Content-Length:
              schema:
                type: integer
                example: '1093'
            Keep-Alive:
              schema:
                type: string
                example: timeout=5, max=100
            Connection:
              schema:
                type: string
                example: Keep-Alive
            Content-Type:
              schema:
                type: string
                example: application/json; charset=UTF-8
          content:
            application/json:
              schema:
                type: object
              example:
                name: My Plugin
                slug: my-plugin
                version: 1.0.0
                author: <a href="https://example.com" target="_blank">ACME</a>
                author_profile: https://example.com
                short_description: ''
                rating: 0
                num_ratings: 0
                active_installs: 0
                requires: ''
                tested: null
                requires_php: ''
                download_link: >-
                  https://wp-content-staging.s3.fr-par.scw.cloud/artifacts/plugins/my-plugin/my-plugin-1.0.0-81ae9121fde9f29c489c72dd3d8d9377.zip
                icons:
                  default: http://localhost:8080/images/icon-placeholder.png
                added: '2025-06-11'
                last_updated: 2025-06-11 9:08am UTC
                banners:
                  low: https://placehold.co/772x250
                  high: https://placehold.co/1544x500
        '404':
          description: Not Found
          headers:
            Date:
              schema:
                type: string
                example: Wed, 11 Jun 2025 09:11:42 GMT
            Server:
              schema:
                type: string
                example: Apache
            Cache-Control:
              schema:
                type: string
                example: no-store, max-age=0, no-cache
            Access-Control-Allow-Origin:
              schema:
                type: string
                example: '*'
            Debugbar-Time:
              schema:
                type: number
                example: '1749633102.435443'
            Debugbar-Link:
              schema:
                type: string
                example: >-
                  http://localhost:8080/index.php?debugbar_time=1749633102.435443
            Content-Length:
              schema:
                type: integer
                example: '101'
            Keep-Alive:
              schema:
                type: string
                example: timeout=5, max=100
            Connection:
              schema:
                type: string
                example: Keep-Alive
            Content-Type:
              schema:
                type: string
                example: application/json; charset=UTF-8
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                error: 404
                messages:
                  error: Plugin not found.
  /plugins/{slug}/versions:
    get:
      tags:
        - Plugin Versions
      summary: Get all plugin versions
      description: Get versions of plugins with details.
      parameters:
        - name: slug
          in: path
          schema:
            type: string
          required: true
          description: Slug of plugin
          example: my-plugin
      responses:
        '200':
          description: OK
          headers:
            Date:
              schema:
                type: string
                example: Wed, 11 Jun 2025 09:17:03 GMT
            Server:
              schema:
                type: string
                example: Apache
            Cache-Control:
              schema:
                type: string
                example: no-store, max-age=0, no-cache
            Access-Control-Allow-Origin:
              schema:
                type: string
                example: '*'
            Debugbar-Time:
              schema:
                type: number
                example: '1749633423.498052'
            Debugbar-Link:
              schema:
                type: string
                example: >-
                  http://localhost:8080/index.php?debugbar_time=1749633423.498052
            Content-Length:
              schema:
                type: integer
                example: '1401'
            Keep-Alive:
              schema:
                type: string
                example: timeout=5, max=100
            Connection:
              schema:
                type: string
                example: Keep-Alive
            Content-Type:
              schema:
                type: string
                example: application/json; charset=UTF-8
          content:
            application/json:
              schema:
                type: object
              example:
                - version: 1.0.1
                  release_notes: New version
                  download_link: >-
                    https://wp-content-staging.s3.fr-par.scw.cloud/artifacts/plugins/my-plugin/my-plugin-1.0.1-6af596f11972bae336f7bcfdd03fdd1e.zip
                  checksum: 6af596f11972bae336f7bcfdd03fdd1e
                  latest: true
                  added: '2025-06-11'
                  last_updated: 2025-06-11 9:16am UTC
                - version: 1.0.0
                  release_notes: First release
                  download_link: >-
                    https://wp-content-staging.s3.fr-par.scw.cloud/artifacts/plugins/my-plugin/my-plugin-1.0.0-81ae9121fde9f29c489c72dd3d8d9377.zip
                  checksum: 81ae9121fde9f29c489c72dd3d8d9377
                  latest: false
                  added: '2025-06-11'
                  last_updated: 2025-06-11 9:16am UTC
        '404':
          description: Not Found
          headers:
            Date:
              schema:
                type: string
                example: Wed, 11 Jun 2025 09:17:30 GMT
            Server:
              schema:
                type: string
                example: Apache
            Cache-Control:
              schema:
                type: string
                example: no-store, max-age=0, no-cache
            Access-Control-Allow-Origin:
              schema:
                type: string
                example: '*'
            Debugbar-Time:
              schema:
                type: number
                example: '1749633450.688757'
            Debugbar-Link:
              schema:
                type: string
                example: >-
                  http://localhost:8080/index.php?debugbar_time=1749633450.688757
            Content-Length:
              schema:
                type: integer
                example: '101'
            Keep-Alive:
              schema:
                type: string
                example: timeout=5, max=100
            Connection:
              schema:
                type: string
                example: Keep-Alive
            Content-Type:
              schema:
                type: string
                example: application/json; charset=UTF-8
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                error: 404
                messages:
                  error: Plugin not found.
  /plugins/{slug}/versions/{version}:
    get:
      tags:
        - Plugin Versions
      summary: Get plugin version details
      description: Get version detail for a given plugin
      parameters:
        - name: slug
          in: path
          schema:
            type: string
          required: true
          description: Slug of plugin
          example: my-plugin
        - name: version
          in: path
          schema:
            type: string
          required: true
          description: Plugin version to check
          example: 1.0.0
      responses:
        '200':
          description: OK
          headers:
            Date:
              schema:
                type: string
                example: Wed, 11 Jun 2025 09:17:59 GMT
            Server:
              schema:
                type: string
                example: Apache
            Cache-Control:
              schema:
                type: string
                example: no-store, max-age=0, no-cache
            Access-Control-Allow-Origin:
              schema:
                type: string
                example: '*'
            Debugbar-Time:
              schema:
                type: number
                example: '1749633479.735501'
            Debugbar-Link:
              schema:
                type: string
                example: >-
                  http://localhost:8080/index.php?debugbar_time=1749633479.735501
            Content-Length:
              schema:
                type: integer
                example: '663'
            Keep-Alive:
              schema:
                type: string
                example: timeout=5, max=100
            Connection:
              schema:
                type: string
                example: Keep-Alive
            Content-Type:
              schema:
                type: string
                example: application/json; charset=UTF-8
          content:
            application/json:
              schema:
                type: object
              example:
                version: 1.0.0
                release_notes: First release
                download_link: >-
                  https://wp-content-staging.s3.fr-par.scw.cloud/artifacts/plugins/my-plugin/my-plugin-1.0.0-81ae9121fde9f29c489c72dd3d8d9377.zip
                checksum: 81ae9121fde9f29c489c72dd3d8d9377
                latest: false
                added: '2025-06-11'
                last_updated: 2025-06-11 9:16am UTC
        '404':
          description: Not Found
          headers:
            Date:
              schema:
                type: string
                example: Wed, 11 Jun 2025 09:18:20 GMT
            Server:
              schema:
                type: string
                example: Apache
            Cache-Control:
              schema:
                type: string
                example: no-store, max-age=0, no-cache
            Access-Control-Allow-Origin:
              schema:
                type: string
                example: '*'
            Debugbar-Time:
              schema:
                type: number
                example: '1749633500.786459'
            Debugbar-Link:
              schema:
                type: string
                example: >-
                  http://localhost:8080/index.php?debugbar_time=1749633500.786459
            Content-Length:
              schema:
                type: integer
                example: '93'
            Keep-Alive:
              schema:
                type: string
                example: timeout=5, max=100
            Connection:
              schema:
                type: string
                example: Keep-Alive
            Content-Type:
              schema:
                type: string
                example: application/json; charset=UTF-8
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                error: 404
                messages:
                  error: Not Found
    patch:
      tags:
        - Plugin Versions
      summary: Update plugin version details
      description: >-
        Update plugin version details.


        You can use this endpoint to change "latest" version of a plugin and add
        release notes.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                release_notes: |-
                  Release notes for this version
                  _Markdown is accepted_.
      parameters:
        - name: slug
          in: path
          schema:
            type: string
          required: true
          description: Slug of plugin
          example: my-plugin
        - name: version
          in: path
          schema:
            type: string
          required: true
          description: Plugin version to update
          example: 1.0.0
      responses:
        '200':
          description: OK
          headers:
            Date:
              schema:
                type: string
                example: Wed, 11 Jun 2025 09:19:11 GMT
            Server:
              schema:
                type: string
                example: Apache
            Cache-Control:
              schema:
                type: string
                example: no-store, max-age=0, no-cache
            Access-Control-Allow-Origin:
              schema:
                type: string
                example: '*'
            Debugbar-Time:
              schema:
                type: number
                example: '1749633552.268463'
            Debugbar-Link:
              schema:
                type: string
                example: >-
                  http://localhost:8080/index.php?debugbar_time=1749633552.268463
            Content-Length:
              schema:
                type: integer
                example: '705'
            Keep-Alive:
              schema:
                type: string
                example: timeout=5, max=100
            Connection:
              schema:
                type: string
                example: Keep-Alive
            Content-Type:
              schema:
                type: string
                example: application/json; charset=UTF-8
          content:
            application/json:
              schema:
                type: object
              example:
                version: 1.0.0
                release_notes: |-
                  Release notes for this version
                  _Markdown is accepted_.
                download_link: >-
                  https://wp-content-staging.s3.fr-par.scw.cloud/artifacts/plugins/my-plugin/my-plugin-1.0.0-81ae9121fde9f29c489c72dd3d8d9377.zip
                checksum: 81ae9121fde9f29c489c72dd3d8d9377
                latest: false
                added: '2025-06-11'
                last_updated: 2025-06-11 9:19am UTC
        '404':
          description: Not Found
          headers:
            Date:
              schema:
                type: string
                example: Wed, 11 Jun 2025 09:19:59 GMT
            Server:
              schema:
                type: string
                example: Apache
            Cache-Control:
              schema:
                type: string
                example: no-store, max-age=0, no-cache
            Access-Control-Allow-Origin:
              schema:
                type: string
                example: '*'
            Debugbar-Time:
              schema:
                type: number
                example: '1749633599.758070'
            Debugbar-Link:
              schema:
                type: string
                example: >-
                  http://localhost:8080/index.php?debugbar_time=1749633599.758070
            Content-Length:
              schema:
                type: integer
                example: '93'
            Keep-Alive:
              schema:
                type: string
                example: timeout=5, max=100
            Connection:
              schema:
                type: string
                example: Keep-Alive
            Content-Type:
              schema:
                type: string
                example: application/json; charset=UTF-8
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                error: 404
                messages:
                  error: Not Found
    delete:
      tags:
        - Plugin Versions
      summary: Delete a version
      parameters:
        - name: slug
          in: path
          schema:
            type: string
          required: true
          description: Slug of plugin
          example: my-plugin
        - name: version
          in: path
          schema:
            type: string
          required: true
          description: Plugin version to delete
          example: 1.0.0
      responses:
        '200':
          description: OK
          headers:
            Date:
              schema:
                type: string
                example: Wed, 11 Jun 2025 09:20:47 GMT
            Server:
              schema:
                type: string
                example: Apache
            Cache-Control:
              schema:
                type: string
                example: no-store, max-age=0, no-cache
            Access-Control-Allow-Origin:
              schema:
                type: string
                example: '*'
            Debugbar-Time:
              schema:
                type: number
                example: '1749633648.483491'
            Debugbar-Link:
              schema:
                type: string
                example: >-
                  http://localhost:8080/index.php?debugbar_time=1749633648.483491
            Content-Length:
              schema:
                type: integer
                example: '663'
            Keep-Alive:
              schema:
                type: string
                example: timeout=5, max=100
            Connection:
              schema:
                type: string
                example: Keep-Alive
            Content-Type:
              schema:
                type: string
                example: application/json; charset=UTF-8
          content:
            application/json:
              schema:
                type: object
              example:
                version: 1.0.0
                release_notes: First release
                download_link: >-
                  https://wp-content-staging.s3.fr-par.scw.cloud/artifacts/plugins/my-plugin/my-plugin-1.0.0-81ae9121fde9f29c489c72dd3d8d9377.zip
                checksum: 81ae9121fde9f29c489c72dd3d8d9377
                latest: false
                added: '2025-06-11'
                last_updated: 2025-06-11 9:19am UTC
        '400':
          description: Bad Request
          headers:
            Date:
              schema:
                type: string
                example: Wed, 11 Jun 2025 09:21:05 GMT
            Server:
              schema:
                type: string
                example: Apache
            Cache-Control:
              schema:
                type: string
                example: no-store, max-age=0, no-cache
            Access-Control-Allow-Origin:
              schema:
                type: string
                example: '*'
            Debugbar-Time:
              schema:
                type: number
                example: '1749633665.301004'
            Debugbar-Link:
              schema:
                type: string
                example: >-
                  http://localhost:8080/index.php?debugbar_time=1749633665.301004
            Content-Length:
              schema:
                type: integer
                example: '185'
            Connection:
              schema:
                type: string
                example: close
            Content-Type:
              schema:
                type: string
                example: application/json; charset=UTF-8
          content:
            application/json:
              schema:
                type: object
              example:
                status: 400
                error: 400
                messages:
                  error: >-
                    You cannot delete latest version. Please upload a new
                    version or choose a previous version as latest.
        '404':
          description: Not Found
          headers:
            Date:
              schema:
                type: string
                example: Wed, 11 Jun 2025 09:21:25 GMT
            Server:
              schema:
                type: string
                example: Apache
            Cache-Control:
              schema:
                type: string
                example: no-store, max-age=0, no-cache
            Access-Control-Allow-Origin:
              schema:
                type: string
                example: '*'
            Debugbar-Time:
              schema:
                type: number
                example: '1749633685.607223'
            Debugbar-Link:
              schema:
                type: string
                example: >-
                  http://localhost:8080/index.php?debugbar_time=1749633685.607223
            Content-Length:
              schema:
                type: integer
                example: '93'
            Keep-Alive:
              schema:
                type: string
                example: timeout=5, max=100
            Connection:
              schema:
                type: string
                example: Keep-Alive
            Content-Type:
              schema:
                type: string
                example: application/json; charset=UTF-8
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                error: 404
                messages:
                  error: Not Found
  /themes:
    get:
      tags:
        - Themes
      summary: List all themes
      description: >-
        Retrieve the list of plugins published in the organization. The response
        format is compatible with official Wordpress Repository format.
      parameters:
        - name: paged
          in: query
          schema:
            type: integer
          description: Page queried
          example: '1'
        - name: per_page
          in: query
          schema:
            type: integer
          description: Number of results per page
          example: '36'
      responses:
        '200':
          description: OK
          headers:
            Date:
              schema:
                type: string
                example: Wed, 11 Jun 2025 11:40:16 GMT
            Server:
              schema:
                type: string
                example: Apache
            Cache-Control:
              schema:
                type: string
                example: no-store, max-age=0, no-cache
            Access-Control-Allow-Origin:
              schema:
                type: string
                example: '*'
            Debugbar-Time:
              schema:
                type: number
                example: '1749642016.585894'
            Debugbar-Link:
              schema:
                type: string
                example: >-
                  http://localhost:8080/index.php?debugbar_time=1749642016.585894
            Content-Length:
              schema:
                type: integer
                example: '1579'
            Keep-Alive:
              schema:
                type: string
                example: timeout=5, max=100
            Connection:
              schema:
                type: string
                example: Keep-Alive
            Content-Type:
              schema:
                type: string
                example: application/json; charset=UTF-8
          content:
            application/json:
              schema:
                type: object
              examples:
                example-0:
                  summary: 200 - Success
                  value:
                    info:
                      page: 1
                      pages: 1
                      results: 1
                    themes:
                      - name: My Theme
                        slug: my-theme
                        version: 1.0.0
                        preview_url: ''
                        author:
                          user_nicename: acme
                          profile: ''
                          avatar: ''
                          display_name: ACME
                          author: ACME
                          author_url: https://example.com
                        tags: []
                        screenshot_url: https://placehold.co/1200x900
                        rating: 0
                        num_ratings: 0
                        downloaded: 0
                        homepage: ''
                        description: ''
                        requires: null
                        requires_php: null
                        download_link: >-
                          https://wp-content-staging.s3.fr-par.scw.cloud/artifacts/themes/my-theme/my-theme-1.0.0-86869156b3b9fbffd6e69fa6cf49452a.zip
                        last_updated: '2025-06-11'
                        last_updated_time: '2025-06-11 11:39:21'
                        creation_time: '2025-06-11 11:39:18'
                        is_commercial: false
                        external_support_url: false
                        is_community: false
                        external_repository_url: ''
                example-1:
                  summary: 200 - Success with no themes
                  value:
                    info:
                      page: 1
                      pages: 0
                      results: 0
                    themes: []
    post:
      tags:
        - Themes
      summary: Upload a theme
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                theme:
                  type: string
                  description: Artifact for create or update a theme
                  format: binary
                release_notes:
                  type: string
                  description: Release notes of the version
                  example: Version update
      responses:
        '200':
          description: OK
          headers:
            Date:
              schema:
                type: string
                example: Wed, 11 Jun 2025 11:33:12 GMT
            Server:
              schema:
                type: string
                example: Apache
            Cache-Control:
              schema:
                type: string
                example: no-store, max-age=0, no-cache
            Access-Control-Allow-Origin:
              schema:
                type: string
                example: '*'
            Debugbar-Time:
              schema:
                type: number
                example: '1749641593.465163'
            Debugbar-Link:
              schema:
                type: string
                example: >-
                  http://localhost:8080/index.php?debugbar_time=1749641593.465163
            Content-Length:
              schema:
                type: integer
                example: '1197'
            Keep-Alive:
              schema:
                type: string
                example: timeout=5, max=100
            Connection:
              schema:
                type: string
                example: Keep-Alive
            Content-Type:
              schema:
                type: string
                example: application/json; charset=UTF-8
          content:
            application/json:
              schema:
                type: object
              example:
                name: My Theme
                slug: my-theme
                version: 1.0.1
                preview_url: ''
                author:
                  user_nicename: acme
                  profile: ''
                  avatar: ''
                  display_name: ACME
                  author: ACME
                  author_url: https://example.com
                tags: []
                screenshot_url: null
                rating: 0
                num_ratings: 0
                downloaded: 0
                homepage: ''
                description: ''
                requires: null
                requires_php: null
                download_link: >-
                  https://wp-content-staging.s3.fr-par.scw.cloud/artifacts/themes/my-theme/my-theme-1.0.1-2f5fafc05b11f83c15a8b72ce15609c8.zip
                last_updated: '2025-06-11'
                last_updated_time: '2025-06-11 11:33:13'
                creation_time: '2025-06-11 11:32:43'
                is_commercial: false
                external_support_url: false
                is_community: false
                external_repository_url: ''
        '201':
          description: Created
          headers:
            Date:
              schema:
                type: string
                example: Wed, 11 Jun 2025 11:32:42 GMT
            Server:
              schema:
                type: string
                example: Apache
            Cache-Control:
              schema:
                type: string
                example: no-store, max-age=0, no-cache
            Access-Control-Allow-Origin:
              schema:
                type: string
                example: '*'
            Debugbar-Time:
              schema:
                type: number
                example: '1749641563.716813'
            Debugbar-Link:
              schema:
                type: string
                example: >-
                  http://localhost:8080/index.php?debugbar_time=1749641563.716813
            Content-Length:
              schema:
                type: integer
                example: '1197'
            Keep-Alive:
              schema:
                type: string
                example: timeout=5, max=100
            Connection:
              schema:
                type: string
                example: Keep-Alive
            Content-Type:
              schema:
                type: string
                example: application/json; charset=UTF-8
          content:
            application/json:
              schema:
                type: object
              example:
                name: My Theme
                slug: my-theme
                version: 1.0.0
                preview_url: ''
                author:
                  user_nicename: acme
                  profile: ''
                  avatar: ''
                  display_name: ACME
                  author: ACME
                  author_url: https://example.com
                tags: []
                screenshot_url: null
                rating: 0
                num_ratings: 0
                downloaded: 0
                homepage: ''
                description: ''
                requires: null
                requires_php: null
                download_link: >-
                  https://wp-content-staging.s3.fr-par.scw.cloud/artifacts/themes/my-theme/my-theme-1.0.0-86869156b3b9fbffd6e69fa6cf49452a.zip
                last_updated: '2025-06-11'
                last_updated_time: '2025-06-11 11:32:43'
                creation_time: '2025-06-11 11:32:43'
                is_commercial: false
                external_support_url: false
                is_community: false
                external_repository_url: ''
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
              examples:
                example-0:
                  summary: 400 - Wrong Update URI hostname provided
                  value:
                    status: 400
                    error: 400
                    messages:
                      error: Update URI hostname must match registry.wp-content.io.
                example-1:
                  summary: 400 - Wrong version number
                  value:
                    status: 400
                    error: 400
                    messages:
                      version: >-
                        Invalid version 1.0.1. You must upload a version greater
                        than 1.0.1 (latest).
        '403':
          description: Forbidden
          headers:
            Date:
              schema:
                type: string
                example: Wed, 11 Jun 2025 11:33:26 GMT
            Server:
              schema:
                type: string
                example: Apache
            Cache-Control:
              schema:
                type: string
                example: no-store, max-age=0, no-cache
            Access-Control-Allow-Origin:
              schema:
                type: string
                example: '*'
            Debugbar-Time:
              schema:
                type: number
                example: '1749641606.623060'
            Debugbar-Link:
              schema:
                type: string
                example: >-
                  http://localhost:8080/index.php?debugbar_time=1749641606.623060
            Content-Length:
              schema:
                type: integer
                example: '163'
            Connection:
              schema:
                type: string
                example: close
            Content-Type:
              schema:
                type: string
                example: application/json; charset=UTF-8
          content:
            application/json:
              schema:
                type: object
              example:
                status: 403
                error: 403
                messages:
                  error: Forbidden
  /themes/{slug}:
    patch:
      tags:
        - Themes
      summary: Update theme informations
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                screenshot_url: https://placehold.co/1200x900
                preview_url: ''
                homepage: ''
      parameters:
        - name: slug
          in: path
          schema:
            type: string
          required: true
          description: Slug of theme
          example: my-theme
      responses:
        '200':
          description: OK
          headers:
            Date:
              schema:
                type: string
                example: Wed, 11 Jun 2025 11:39:21 GMT
            Server:
              schema:
                type: string
                example: Apache
            Cache-Control:
              schema:
                type: string
                example: no-store, max-age=0, no-cache
            Access-Control-Allow-Origin:
              schema:
                type: string
                example: '*'
            Debugbar-Time:
              schema:
                type: number
                example: '1749641961.551071'
            Debugbar-Link:
              schema:
                type: string
                example: >-
                  http://localhost:8080/index.php?debugbar_time=1749641961.551071
            Content-Length:
              schema:
                type: integer
                example: '1553'
            Keep-Alive:
              schema:
                type: string
                example: timeout=5, max=98
            Connection:
              schema:
                type: string
                example: Keep-Alive
            Content-Type:
              schema:
                type: string
                example: application/json; charset=UTF-8
          content:
            application/json:
              schema:
                type: object
              example:
                name: My Theme
                slug: my-theme
                version: 1.0.0
                preview_url: ''
                author:
                  user_nicename: acme
                  profile: ''
                  avatar: ''
                  display_name: ACME
                  author: ACME
                  author_url: https://example.com
                tags: []
                screenshot_url: https://placehold.co/1200x900
                rating: 0
                num_ratings: 0
                downloaded: 0
                homepage: ''
                description: ''
                requires: null
                requires_php: null
                download_link: >-
                  https://wp-content-staging.s3.fr-par.scw.cloud/artifacts/themes/my-theme/my-theme-1.0.0-86869156b3b9fbffd6e69fa6cf49452a.zip
                last_updated: '2025-06-11'
                last_updated_time: '2025-06-11 11:39:21'
                creation_time: '2025-06-11 11:39:18'
                is_commercial: false
                external_support_url: false
                is_community: false
                external_repository_url: ''
                sections:
                  description: null
                  changelog: |-
                    <h4>1.0.0</h4>
                    <p>Version update</p>
                    <em>Release date : 2025-06-11 11:39:18</em>
                versions:
                  1.0.0: >-
                    https://wp-content-staging.s3.fr-par.scw.cloud/artifacts/themes/my-theme/my-theme-1.0.0-86869156b3b9fbffd6e69fa6cf49452a.zip
        '404':
          description: Not Found
          headers:
            Date:
              schema:
                type: string
                example: Wed, 11 Jun 2025 11:47:58 GMT
            Server:
              schema:
                type: string
                example: Apache
            Cache-Control:
              schema:
                type: string
                example: no-store, max-age=0, no-cache
            Access-Control-Allow-Origin:
              schema:
                type: string
                example: '*'
            Debugbar-Time:
              schema:
                type: number
                example: '1749642479.015133'
            Debugbar-Link:
              schema:
                type: string
                example: >-
                  http://localhost:8080/index.php?debugbar_time=1749642479.015133
            Content-Length:
              schema:
                type: integer
                example: '100'
            Keep-Alive:
              schema:
                type: string
                example: timeout=5, max=100
            Connection:
              schema:
                type: string
                example: Keep-Alive
            Content-Type:
              schema:
                type: string
                example: application/json; charset=UTF-8
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                error: 404
                messages:
                  error: Theme not found.
    get:
      tags:
        - Themes
      summary: Get theme details
      description: Retrieve detailed information about a plugin from the organization.
      parameters:
        - name: slug
          in: path
          schema:
            type: string
          required: true
          description: Slug of theme
          example: my-theme
      responses:
        '200':
          description: OK
          headers:
            Date:
              schema:
                type: string
                example: Wed, 11 Jun 2025 11:35:41 GMT
            Server:
              schema:
                type: string
                example: Apache
            Cache-Control:
              schema:
                type: string
                example: no-store, max-age=0, no-cache
            Access-Control-Allow-Origin:
              schema:
                type: string
                example: '*'
            Debugbar-Time:
              schema:
                type: number
                example: '1749641741.596724'
            Debugbar-Link:
              schema:
                type: string
                example: >-
                  http://localhost:8080/index.php?debugbar_time=1749641741.596724
            Content-Length:
              schema:
                type: integer
                example: '1526'
            Keep-Alive:
              schema:
                type: string
                example: timeout=5, max=99
            Connection:
              schema:
                type: string
                example: Keep-Alive
            Content-Type:
              schema:
                type: string
                example: application/json; charset=UTF-8
          content:
            application/json:
              schema:
                type: object
              example:
                name: My Theme
                slug: my-theme
                version: 1.0.0
                preview_url: ''
                author:
                  user_nicename: acme
                  profile: ''
                  avatar: ''
                  display_name: ACME
                  author: ACME
                  author_url: https://example.com
                tags: []
                screenshot_url: null
                rating: 0
                num_ratings: 0
                downloaded: 0
                homepage: ''
                description: ''
                requires: null
                requires_php: null
                download_link: >-
                  https://wp-content-staging.s3.fr-par.scw.cloud/artifacts/themes/my-theme/my-theme-1.0.0-86869156b3b9fbffd6e69fa6cf49452a.zip
                last_updated: '2025-06-11'
                last_updated_time: '2025-06-11 11:35:39'
                creation_time: '2025-06-11 11:35:39'
                is_commercial: false
                external_support_url: false
                is_community: false
                external_repository_url: ''
                sections:
                  description: null
                  changelog: |-
                    <h4>1.0.0</h4>
                    <p>Version update</p>
                    <em>Release date : 2025-06-11 11:35:39</em>
                versions:
                  1.0.0: >-
                    https://wp-content-staging.s3.fr-par.scw.cloud/artifacts/themes/my-theme/my-theme-1.0.0-86869156b3b9fbffd6e69fa6cf49452a.zip
        '404':
          description: Not Found
          headers:
            Date:
              schema:
                type: string
                example: Wed, 11 Jun 2025 11:36:16 GMT
            Server:
              schema:
                type: string
                example: Apache
            Cache-Control:
              schema:
                type: string
                example: no-store, max-age=0, no-cache
            Access-Control-Allow-Origin:
              schema:
                type: string
                example: '*'
            Debugbar-Time:
              schema:
                type: number
                example: '1749641776.589631'
            Debugbar-Link:
              schema:
                type: string
                example: >-
                  http://localhost:8080/index.php?debugbar_time=1749641776.589631
            Content-Length:
              schema:
                type: integer
                example: '100'
            Keep-Alive:
              schema:
                type: string
                example: timeout=5, max=100
            Connection:
              schema:
                type: string
                example: Keep-Alive
            Content-Type:
              schema:
                type: string
                example: application/json; charset=UTF-8
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                error: 404
                messages:
                  error: Theme not found.
    delete:
      tags:
        - Themes
      summary: Delete a theme
      description: Delete a plugin organization.
      parameters:
        - name: slug
          in: path
          schema:
            type: string
          required: true
          description: Slug of theme
          example: my-theme
      responses:
        '200':
          description: OK
          headers:
            Date:
              schema:
                type: string
                example: Wed, 11 Jun 2025 11:36:38 GMT
            Server:
              schema:
                type: string
                example: Apache
            Cache-Control:
              schema:
                type: string
                example: no-store, max-age=0, no-cache
            Access-Control-Allow-Origin:
              schema:
                type: string
                example: '*'
            Debugbar-Time:
              schema:
                type: number
                example: '1749641798.710123'
            Debugbar-Link:
              schema:
                type: string
                example: >-
                  http://localhost:8080/index.php?debugbar_time=1749641798.710123
            Content-Length:
              schema:
                type: integer
                example: '1197'
            Keep-Alive:
              schema:
                type: string
                example: timeout=5, max=100
            Connection:
              schema:
                type: string
                example: Keep-Alive
            Content-Type:
              schema:
                type: string
                example: application/json; charset=UTF-8
          content:
            application/json:
              schema:
                type: object
              example:
                name: My Theme
                slug: my-theme
                version: 1.0.0
                preview_url: ''
                author:
                  user_nicename: acme
                  profile: ''
                  avatar: ''
                  display_name: ACME
                  author: ACME
                  author_url: https://example.com
                tags: []
                screenshot_url: null
                rating: 0
                num_ratings: 0
                downloaded: 0
                homepage: ''
                description: ''
                requires: null
                requires_php: null
                download_link: >-
                  https://wp-content-staging.s3.fr-par.scw.cloud/artifacts/themes/my-theme/my-theme-1.0.0-86869156b3b9fbffd6e69fa6cf49452a.zip
                last_updated: '2025-06-11'
                last_updated_time: '2025-06-11 11:35:39'
                creation_time: '2025-06-11 11:35:39'
                is_commercial: false
                external_support_url: false
                is_community: false
                external_repository_url: ''
        '404':
          description: Not Found
          headers:
            Date:
              schema:
                type: string
                example: Wed, 11 Jun 2025 11:35:54 GMT
            Server:
              schema:
                type: string
                example: Apache
            Cache-Control:
              schema:
                type: string
                example: no-store, max-age=0, no-cache
            Access-Control-Allow-Origin:
              schema:
                type: string
                example: '*'
            Debugbar-Time:
              schema:
                type: number
                example: '1749641754.505152'
            Debugbar-Link:
              schema:
                type: string
                example: >-
                  http://localhost:8080/index.php?debugbar_time=1749641754.505152
            Content-Length:
              schema:
                type: integer
                example: '100'
            Keep-Alive:
              schema:
                type: string
                example: timeout=5, max=100
            Connection:
              schema:
                type: string
                example: Keep-Alive
            Content-Type:
              schema:
                type: string
                example: application/json; charset=UTF-8
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                error: 404
                messages:
                  error: Theme not found.
  /themes/{slug}/versions:
    get:
      tags:
        - Theme Versions
      summary: Get all plugin versions
      description: Get versions of plugins with details.
      parameters:
        - name: slug
          in: path
          schema:
            type: string
          required: true
          description: Slug of theme
          example: my-theme
      responses:
        '200':
          description: OK
          headers:
            Date:
              schema:
                type: string
                example: Wed, 11 Jun 2025 11:43:01 GMT
            Server:
              schema:
                type: string
                example: Apache
            Cache-Control:
              schema:
                type: string
                example: no-store, max-age=0, no-cache
            Access-Control-Allow-Origin:
              schema:
                type: string
                example: '*'
            Debugbar-Time:
              schema:
                type: number
                example: '1749642181.400816'
            Debugbar-Link:
              schema:
                type: string
                example: >-
                  http://localhost:8080/index.php?debugbar_time=1749642181.400816
            Content-Length:
              schema:
                type: integer
                example: '1239'
            Keep-Alive:
              schema:
                type: string
                example: timeout=5, max=99
            Connection:
              schema:
                type: string
                example: Keep-Alive
            Content-Type:
              schema:
                type: string
                example: application/json; charset=UTF-8
          content:
            application/json:
              schema:
                type: object
              example:
                - version: 1.0.1
                  release_notes: Version update
                  download_link: >-
                    https://wp-content-staging.s3.fr-par.scw.cloud/artifacts/themes/my-theme/my-theme-1.0.1-2f5fafc05b11f83c15a8b72ce15609c8.zip
                  checksum: 2f5fafc05b11f83c15a8b72ce15609c8
                  latest: true
                - version: 1.0.0
                  release_notes: Version update
                  download_link: >-
                    https://wp-content-staging.s3.fr-par.scw.cloud/artifacts/themes/my-theme/my-theme-1.0.0-86869156b3b9fbffd6e69fa6cf49452a.zip
                  checksum: 86869156b3b9fbffd6e69fa6cf49452a
                  latest: false
        '404':
          description: Not Found
          headers:
            Date:
              schema:
                type: string
                example: Wed, 11 Jun 2025 11:43:23 GMT
            Server:
              schema:
                type: string
                example: Apache
            Cache-Control:
              schema:
                type: string
                example: no-store, max-age=0, no-cache
            Access-Control-Allow-Origin:
              schema:
                type: string
                example: '*'
            Debugbar-Time:
              schema:
                type: number
                example: '1749642203.914450'
            Debugbar-Link:
              schema:
                type: string
                example: >-
                  http://localhost:8080/index.php?debugbar_time=1749642203.914450
            Content-Length:
              schema:
                type: integer
                example: '100'
            Keep-Alive:
              schema:
                type: string
                example: timeout=5, max=100
            Connection:
              schema:
                type: string
                example: Keep-Alive
            Content-Type:
              schema:
                type: string
                example: application/json; charset=UTF-8
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                error: 404
                messages:
                  error: Theme not found.
  /themes/{slug}/versions/{version}:
    get:
      tags:
        - Theme Versions
      summary: Get theme version details
      description: Get version detail for a given plugin
      parameters:
        - name: slug
          in: path
          schema:
            type: string
          required: true
          description: Slug of theme
          example: my-theme
        - name: version
          in: path
          schema:
            type: string
          required: true
          description: Theme version to check
          example: 1.0.0
      responses:
        '200':
          description: OK
          headers:
            Date:
              schema:
                type: string
                example: Wed, 11 Jun 2025 11:43:41 GMT
            Server:
              schema:
                type: string
                example: Apache
            Cache-Control:
              schema:
                type: string
                example: no-store, max-age=0, no-cache
            Access-Control-Allow-Origin:
              schema:
                type: string
                example: '*'
            Debugbar-Time:
              schema:
                type: number
                example: '1749642221.558421'
            Debugbar-Link:
              schema:
                type: string
                example: >-
                  http://localhost:8080/index.php?debugbar_time=1749642221.558421
            Content-Length:
              schema:
                type: integer
                example: '589'
            Keep-Alive:
              schema:
                type: string
                example: timeout=5, max=100
            Connection:
              schema:
                type: string
                example: Keep-Alive
            Content-Type:
              schema:
                type: string
                example: application/json; charset=UTF-8
          content:
            application/json:
              schema:
                type: object
              example:
                version: 1.0.0
                release_notes: Version update
                download_link: >-
                  https://wp-content-staging.s3.fr-par.scw.cloud/artifacts/themes/my-theme/my-theme-1.0.0-86869156b3b9fbffd6e69fa6cf49452a.zip
                checksum: 86869156b3b9fbffd6e69fa6cf49452a
                latest: false
        '404':
          description: Not Found
          headers:
            Date:
              schema:
                type: string
                example: Wed, 11 Jun 2025 11:44:34 GMT
            Server:
              schema:
                type: string
                example: Apache
            Cache-Control:
              schema:
                type: string
                example: no-store, max-age=0, no-cache
            Access-Control-Allow-Origin:
              schema:
                type: string
                example: '*'
            Debugbar-Time:
              schema:
                type: number
                example: '1749642274.344465'
            Debugbar-Link:
              schema:
                type: string
                example: >-
                  http://localhost:8080/index.php?debugbar_time=1749642274.344465
            Content-Length:
              schema:
                type: integer
                example: '93'
            Keep-Alive:
              schema:
                type: string
                example: timeout=5, max=100
            Connection:
              schema:
                type: string
                example: Keep-Alive
            Content-Type:
              schema:
                type: string
                example: application/json; charset=UTF-8
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                error: 404
                messages:
                  error: Not Found
    patch:
      tags:
        - Theme Versions
      summary: Update theme version details
      description: >-
        Update plugin version details.


        You can use this endpoint to change "latest" version of a plugin and add
        release notes.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                release_notes: |-
                  Release notes for this version
                  _Markdown is accepted_.
      parameters:
        - name: slug
          in: path
          schema:
            type: string
          required: true
          description: Slug of theme
          example: my-theme
        - name: version
          in: path
          schema:
            type: string
          required: true
          description: Theme version to update
          example: 1.0.0
      responses:
        '200':
          description: OK
          headers:
            Date:
              schema:
                type: string
                example: Wed, 11 Jun 2025 11:44:59 GMT
            Server:
              schema:
                type: string
                example: Apache
            Cache-Control:
              schema:
                type: string
                example: no-store, max-age=0, no-cache
            Access-Control-Allow-Origin:
              schema:
                type: string
                example: '*'
            Debugbar-Time:
              schema:
                type: number
                example: '1749642299.961424'
            Debugbar-Link:
              schema:
                type: string
                example: >-
                  http://localhost:8080/index.php?debugbar_time=1749642299.961424
            Content-Length:
              schema:
                type: integer
                example: '629'
            Keep-Alive:
              schema:
                type: string
                example: timeout=5, max=100
            Connection:
              schema:
                type: string
                example: Keep-Alive
            Content-Type:
              schema:
                type: string
                example: application/json; charset=UTF-8
          content:
            application/json:
              schema:
                type: object
              example:
                version: 1.0.1
                release_notes: |-
                  Release notes for this version
                  _Markdown is accepted_.
                download_link: >-
                  https://wp-content-staging.s3.fr-par.scw.cloud/artifacts/themes/my-theme/my-theme-1.0.1-2f5fafc05b11f83c15a8b72ce15609c8.zip
                checksum: 2f5fafc05b11f83c15a8b72ce15609c8
                latest: true
        '404':
          description: Not Found
          headers:
            Date:
              schema:
                type: string
                example: Wed, 11 Jun 2025 11:45:18 GMT
            Server:
              schema:
                type: string
                example: Apache
            Cache-Control:
              schema:
                type: string
                example: no-store, max-age=0, no-cache
            Access-Control-Allow-Origin:
              schema:
                type: string
                example: '*'
            Debugbar-Time:
              schema:
                type: number
                example: '1749642318.624143'
            Debugbar-Link:
              schema:
                type: string
                example: >-
                  http://localhost:8080/index.php?debugbar_time=1749642318.624143
            Content-Length:
              schema:
                type: integer
                example: '93'
            Keep-Alive:
              schema:
                type: string
                example: timeout=5, max=100
            Connection:
              schema:
                type: string
                example: Keep-Alive
            Content-Type:
              schema:
                type: string
                example: application/json; charset=UTF-8
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                error: 404
                messages:
                  error: Not Found
    delete:
      tags:
        - Theme Versions
      summary: Delete a version
      parameters:
        - name: slug
          in: path
          schema:
            type: string
          required: true
          description: Slug of theme
          example: my-theme
        - name: version
          in: path
          schema:
            type: string
          required: true
          description: Theme version to delete
          example: 1.0.0
      responses:
        '200':
          description: OK
          headers:
            Date:
              schema:
                type: string
                example: Wed, 11 Jun 2025 11:46:11 GMT
            Server:
              schema:
                type: string
                example: Apache
            Cache-Control:
              schema:
                type: string
                example: no-store, max-age=0, no-cache
            Access-Control-Allow-Origin:
              schema:
                type: string
                example: '*'
            Debugbar-Time:
              schema:
                type: number
                example: '1749642372.347016'
            Debugbar-Link:
              schema:
                type: string
                example: >-
                  http://localhost:8080/index.php?debugbar_time=1749642372.347016
            Content-Length:
              schema:
                type: integer
                example: '589'
            Keep-Alive:
              schema:
                type: string
                example: timeout=5, max=100
            Connection:
              schema:
                type: string
                example: Keep-Alive
            Content-Type:
              schema:
                type: string
                example: application/json; charset=UTF-8
          content:
            application/json:
              schema:
                type: object
              example:
                version: 1.0.0
                release_notes: Version update
                download_link: >-
                  https://wp-content-staging.s3.fr-par.scw.cloud/artifacts/themes/my-theme/my-theme-1.0.0-86869156b3b9fbffd6e69fa6cf49452a.zip
                checksum: 86869156b3b9fbffd6e69fa6cf49452a
                latest: false
        '400':
          description: Bad Request
          headers:
            Date:
              schema:
                type: string
                example: Wed, 11 Jun 2025 09:21:05 GMT
            Server:
              schema:
                type: string
                example: Apache
            Cache-Control:
              schema:
                type: string
                example: no-store, max-age=0, no-cache
            Access-Control-Allow-Origin:
              schema:
                type: string
                example: '*'
            Debugbar-Time:
              schema:
                type: number
                example: '1749633665.301004'
            Debugbar-Link:
              schema:
                type: string
                example: >-
                  http://localhost:8080/index.php?debugbar_time=1749633665.301004
            Content-Length:
              schema:
                type: integer
                example: '185'
            Connection:
              schema:
                type: string
                example: close
            Content-Type:
              schema:
                type: string
                example: application/json; charset=UTF-8
          content:
            application/json:
              schema:
                type: object
              example:
                status: 400
                error: 400
                messages:
                  error: >-
                    You cannot delete latest version. Please upload a new
                    version or choose a previous version as latest.
        '404':
          description: Not Found
          headers:
            Date:
              schema:
                type: string
                example: Wed, 11 Jun 2025 09:21:25 GMT
            Server:
              schema:
                type: string
                example: Apache
            Cache-Control:
              schema:
                type: string
                example: no-store, max-age=0, no-cache
            Access-Control-Allow-Origin:
              schema:
                type: string
                example: '*'
            Debugbar-Time:
              schema:
                type: number
                example: '1749633685.607223'
            Debugbar-Link:
              schema:
                type: string
                example: >-
                  http://localhost:8080/index.php?debugbar_time=1749633685.607223
            Content-Length:
              schema:
                type: integer
                example: '93'
            Keep-Alive:
              schema:
                type: string
                example: timeout=5, max=100
            Connection:
              schema:
                type: string
                example: Keep-Alive
            Content-Type:
              schema:
                type: string
                example: application/json; charset=UTF-8
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                error: 404
                messages:
                  error: Not Found
