Outworx API

Outworx API as documented publicly: 27 operations. Contract generated from the documentation by API Evangelist (2026-10-18); not the provider's own document.

Operations 27

GET /api/feed/posts Types for listPosts — GET /api/feed/posts #
GET /api/projects/acme/sdk GET /api/projects/acme/sdk #
GET /api/v1/projects List your projects (paginated, ?q= filter) #
POST /api/v1/projects Create a project — slug auto-generates from name #
DELETE /api/v1/projects/{slug} Delete a project (cascades to versions) #
GET /api/v1/projects/{slug} Get one project #
PATCH /api/v1/projects/{slug} Sparse update: name, is_public, base_url, custom domain #
GET /api/v1/projects/{slug}/versions List versions (?include_previews= to surface PR-scoped rows) #
POST /api/v1/projects/{slug}/versions Push a spec version (?label=, ?makeDefault=, ?preview= for PR previews) #
DELETE /api/v1/projects/{slug}/versions/{label} Delete a version (default version is protected) #
GET /api/v1/projects/{slug}/versions/{label} Get one version #
PATCH /api/v1/projects/{slug}/versions/{label} Promote default, soft-deactivate, override base_url #
POST /checkout POST /checkout #
GET /mock/acme/v1/users Mock endpoint for listing users #
GET /orders GET /orders #
POST /payment_intent.succeeded Webhooks playground #
POST /pull_request.opened Webhooks playground #
GET /users GET /users #
POST /users POST /users #
POST /v1/checkout/sessions Start checkout #
GET /v1/orders/{orderid} Read order #
GET /v1/users List users #
POST /v1/users Create user #
POST /v1/users/{id}/invites new endpoint #
POST /v2/checkout New Create a checkout session with line items and an optional idempotency key. #
POST /v2/users POST /v2/users #
GET /v2/users/{id} GET /v2/users/{id} #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/outworx:outworx-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

outworx-openapi-generated.yml Raw ↑
openapi: 3.1.0
info:
  title: Outworx API
  version: '2026-10-18'
  description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-10-18: 27 operation(s) read from 8 public documentation page(s) (each operation
    names its page in x-source). This is not the provider''s published contract; Outworx has published no machine-readable contract that the pipeline
    could find. Engine: local.'
  x-evidence-tiers:
    code-example: 7
    documentation: 20
    pages-with-code: 5
    pages-read: 8
  x-generated-from: documentation
  x-provenance: generated
  x-authored-by: API Evangelist
  x-generated: '2026-10-18'
  x-generator: generate-contract-from-docs.py
  x-engine: local
  x-sources:
  - https://docs.outworx.io/api
  - https://docs.outworx.io/guides/rest-api
  - https://docs.outworx.io/tools/sdks
  - https://docs.outworx.io/tools/webhooks
  - https://docs.outworx.io/guides/openapi-to-typescript
  - https://docs.outworx.io/tools/cli
  - https://docs.outworx.io/guides/cli
  - https://docs.outworx.io/tools
paths:
  /api/feed/posts:
    get:
      operationId: get_api_feed_posts
      tags:
      - Api
      summary: Types for listPosts — GET /api/feed/posts
      description: GET endpoint that returns a paginated list of posts.
      x-source: https://docs.outworx.io/guides/openapi-to-typescript
      parameters:
      - name: page
        in: query
        required: false
        schema:
          type: number
        description: Page number (1-indexed)
      - name: limit
        in: query
        required: false
        schema:
          type: number
        description: Results per page (max 100)
      - name: author
        in: query
        required: false
        schema:
          type: string
        description: Filter by author username
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApiFeedPostsResponse'
      x-evidence:
        kind: documentation
  /api/projects/acme/sdk:
    get:
      operationId: get_api_projects_acme_sdk
      tags:
      - Api
      summary: GET /api/projects/acme/sdk
      x-source: https://docs.outworx.io/tools/sdks
      parameters:
      - name: language
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -H \"Authorization: Bearer $OUTWORX_TOKEN\"  //https://docs.outworx.io/api/projects/acme/sdk?language=typescript  // -o\
          \ acme-sdk.ts \n export interface User { \n id: string ; \n email: string ; \n created_at: string ; \n } \n export class AcmeClient\
          \ { \n constructor ( private apiKey: string ) {} \n async listUsers (page = 1): Promise < User []> { \n return this . _get ( `/v1/users?page=${page}`\
          \ ); \n } \n"
  /api/v1/projects:
    get:
      operationId: get_api_v1_projects
      tags:
      - Api
      summary: List your projects (paginated, ?q= filter)
      x-source: https://docs.outworx.io/api
      parameters:
      - name: q
        in: query
        required: false
        schema:
          type: string
        description: filter string
      - name: limit
        in: query
        required: false
        schema:
          type: string
        description: page size (1–100, default 50)
      - name: offset
        in: query
        required: false
        schema:
          type: string
        description: page offset (default 0)
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApiV1ProjectsResponse'
      x-evidence:
        kind: documentation
    post:
      operationId: post_api_v1_projects
      tags:
      - Api
      summary: Create a project — slug auto-generates from name
      x-source: https://docs.outworx.io/api
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiV1ProjectsRequest'
      responses:
        '201':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostApiV1ProjectsResponse'
      x-evidence:
        kind: documentation
  /api/v1/projects/{slug}:
    delete:
      operationId: delete_api_v1_projects_slug
      tags:
      - Api
      summary: Delete a project (cascades to versions)
      x-source: https://docs.outworx.io/api
      parameters:
      - name: slug
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    get:
      operationId: get_api_v1_projects_slug
      tags:
      - Api
      summary: Get one project
      x-source: https://docs.outworx.io/api
      parameters:
      - name: slug
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApiV1ProjectsSlugResponse'
      x-evidence:
        kind: documentation
    patch:
      operationId: patch_api_v1_projects_slug
      tags:
      - Api
      summary: 'Sparse update: name, is_public, base_url, custom domain'
      x-source: https://docs.outworx.io/api
      parameters:
      - name: slug
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchApiV1ProjectsSlugRequest'
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatchApiV1ProjectsSlugResponse'
      x-evidence:
        kind: documentation
  /api/v1/projects/{slug}/versions:
    get:
      operationId: get_api_v1_projects_slug_versions
      tags:
      - Api
      summary: List versions (?include_previews= to surface PR-scoped rows)
      x-source: https://docs.outworx.io/api
      parameters:
      - name: slug
        in: path
        required: true
        schema:
          type: string
      - name: include_previews
        in: query
        required: false
        schema:
          type: boolean
        description: include preview versions
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApiV1ProjectsSlugVersionsResponse'
      x-evidence:
        kind: documentation
    post:
      operationId: post_api_v1_projects_slug_versions
      tags:
      - Api
      summary: Push a spec version (?label=, ?makeDefault=, ?preview= for PR previews)
      x-source: https://docs.outworx.io/api
      parameters:
      - name: slug
        in: path
        required: true
        schema:
          type: string
      - name: label
        in: query
        required: false
        schema:
          type: string
        description: version label
      - name: makeDefault
        in: query
        required: false
        schema:
          type: boolean
        description: make this version the default
      - name: preview
        in: query
        required: false
        schema:
          type: boolean
        description: treat as preview (PR) version
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiV1ProjectsSlugVersionsRequest'
      responses:
        '201':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostApiV1ProjectsSlugVersionsResponse'
      x-evidence:
        kind: documentation
  /api/v1/projects/{slug}/versions/{label}:
    delete:
      operationId: delete_api_v1_projects_slug_versions_label
      tags:
      - Api
      summary: Delete a version (default version is protected)
      x-source: https://docs.outworx.io/api
      parameters:
      - name: slug
        in: path
        required: true
        schema:
          type: string
      - name: label
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    get:
      operationId: get_api_v1_projects_slug_versions_label
      tags:
      - Api
      summary: Get one version
      x-source: https://docs.outworx.io/api
      parameters:
      - name: slug
        in: path
        required: true
        schema:
          type: string
      - name: label
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApiV1ProjectsSlugVersionsLabelResponse'
      x-evidence:
        kind: documentation
    patch:
      operationId: patch_api_v1_projects_slug_versions_label
      tags:
      - Api
      summary: Promote default, soft-deactivate, override base_url
      x-source: https://docs.outworx.io/api
      parameters:
      - name: slug
        in: path
        required: true
        schema:
          type: string
      - name: label
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchApiV1ProjectsSlugVersionsLabelRequest'
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatchApiV1ProjectsSlugVersionsLabelResponse'
      x-evidence:
        kind: documentation
  /checkout:
    post:
      operationId: post_checkout
      tags:
      - Checkout
      summary: POST /checkout
      description: Create a checkout session (Payments API).
      x-source: https://docs.outworx.io/tools
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /mock/acme/v1/users:
    get:
      operationId: get_mock_acme_v1_users
      tags:
      - Mock
      summary: Mock endpoint for listing users
      description: A mock server response for the listUsers operation, returning a page number, an array of user objects (each with id and email),
        and pagination metadata.
      x-source: https://docs.outworx.io/tools
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetMockAcmeV1UsersResponse'
      x-evidence:
        kind: documentation
  /orders:
    get:
      operationId: get_orders
      tags:
      - Orders
      summary: GET /orders
      description: List orders (Payments API).
      x-source: https://docs.outworx.io/tools
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /payment_intent.succeeded:
    post:
      operationId: post_payment_intent_succeeded
      tags:
      - Payment Intent
      summary: Webhooks playground
      x-source: https://docs.outworx.io/tools/webhooks
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /pull_request.opened:
    post:
      operationId: post_pull_request_opened
      tags:
      - Pull Request
      summary: Webhooks playground
      x-source: https://docs.outworx.io/tools/webhooks
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /users:
    get:
      operationId: get_users
      tags:
      - Users
      summary: GET /users
      description: List users (Payments API).
      x-source: https://docs.outworx.io/tools
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    post:
      operationId: post_users
      tags:
      - Users
      summary: POST /users
      description: Create a user (Payments API).
      x-source: https://docs.outworx.io/tools
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/checkout/sessions:
    post:
      operationId: post_v1_checkout_sessions
      tags:
      - Checkout
      summary: Start checkout
      x-source: https://docs.outworx.io/tools/sdks
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/orders/{orderid}:
    get:
      operationId: get_v1_orders_orderid
      tags:
      - Orders
      summary: Read order
      x-source: https://docs.outworx.io/tools/sdks
      parameters:
      - name: orderid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/users:
    get:
      operationId: get_v1_users
      tags:
      - Users
      summary: List users
      x-source: https://docs.outworx.io/tools/sdks
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    post:
      operationId: post_v1_users
      tags:
      - Users
      summary: Create user
      x-source: https://docs.outworx.io/tools/sdks
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/users/{id}/invites:
    post:
      operationId: post_v1_users_id_invites
      tags:
      - Users
      summary: new endpoint
      description: Invite a user.
      x-source: https://docs.outworx.io/tools
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v2/checkout:
    post:
      operationId: post_v2_checkout
      tags:
      - Checkout
      summary: New Create a checkout session with line items and an optional idempotency key.
      description: Create a checkout session (v2).
      x-source: https://docs.outworx.io/tools
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostV2CheckoutRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v2/users:
    post:
      operationId: post_v2_users
      tags:
      - Users
      summary: POST /v2/users
      description: Create a user (v2).
      x-source: https://docs.outworx.io/tools
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v2/users/{id}:
    get:
      operationId: get_v2_users_id
      tags:
      - Users
      summary: GET /v2/users/{id}
      description: Retrieve a user (v2).
      x-source: https://docs.outworx.io/tools
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
components:
  schemas:
    GetApiFeedPostsResponse:
      type: object
      properties:
        '200':
          type: object
          description: Page of posts (ListPostsResponse) with fields items, total, page, has_more
        '401':
          type: object
          description: Unauthorized (ListPostsError401) with fields error, code
    GetApiV1ProjectsResponse:
      type: object
      properties:
        data:
          type: array
          description: list of projects
        pagination:
          type: object
          description: pagination info (total, limit, offset)
    PostApiV1ProjectsRequest:
      type: object
      properties:
        name:
          type: string
          description: project name
        slug:
          type: string
          description: optional slug, auto‑generated from name if omitted
      required:
      - name
    PostApiV1ProjectsResponse:
      type: object
      properties:
        id:
          type: string
        slug:
          type: string
        name:
          type: string
    GetApiV1ProjectsSlugResponse:
      type: object
      properties:
        id:
          type: string
        slug:
          type: string
        name:
          type: string
        is_public:
          type: boolean
        base_url:
          type: string
        custom_domain:
          type: string
    PatchApiV1ProjectsSlugRequest:
      type: object
      properties:
        name:
          type: string
        is_public:
          type: boolean
        base_url:
          type: string
        custom_domain:
          type: string
    PatchApiV1ProjectsSlugResponse:
      type: object
      properties:
        id:
          type: string
        slug:
          type: string
        name:
          type: string
        is_public:
          type: boolean
        base_url:
          type: string
        custom_domain:
          type: string
    GetApiV1ProjectsSlugVersionsResponse:
      type: object
      properties:
        data:
          type: array
          description: list of version objects
    PostApiV1ProjectsSlugVersionsRequest:
      type: object
      properties:
        spec:
          type: object
          description: OpenAPI 3.x JSON/YAML, Swagger 2.0, or GraphQL SDL (the spec itself)
      required:
      - spec
    PostApiV1ProjectsSlugVersionsResponse:
      type: object
      properties:
        id:
          type: string
        project_id:
          type: string
        version_label:
          type: string
        spec_format:
          type: string
        is_default:
          type: boolean
        is_active:
          type: boolean
        spec_size:
          type: integer
        created_at:
          type: string
          description: timestamp
    GetApiV1ProjectsSlugVersionsLabelResponse:
      type: object
      properties:
        id:
          type: string
        project_id:
          type: string
        version_label:
          type: string
        spec_format:
          type: string
        is_default:
          type: boolean
        is_active:
          type: boolean
        spec_size:
          type: integer
        created_at:
          type: string
    PatchApiV1ProjectsSlugVersionsLabelRequest:
      type: object
      properties:
        is_default:
          type: boolean
          description: promote this version to default
        is_active:
          type: boolean
          description: soft‑deactivate (false) or activate (true)
        base_url:
          type: string
          description: override base URL for this version
    PatchApiV1ProjectsSlugVersionsLabelResponse:
      type: object
      properties:
        id:
          type: string
        project_id:
          type: string
        version_label:
          type: string
        is_default:
          type: boolean
        is_active:
          type: boolean
        base_url:
          type: string
    GetMockAcmeV1UsersResponse:
      type: object
      properties:
        page:
          type: integer
          description: Current page number
        users:
          type: array
          description: List of user objects
        meta:
          type: object
          description: Pagination metadata
    PostV2CheckoutRequest:
      type: object
      properties:
        currency:
          type: string
        items:
          type: array
        idempotency_key:
          type: string
      required:
      - currency
      - items
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
security:
- bearer: []
tags:
- name: Api
- name: Checkout
- name: Mock
- name: Orders
- name: Payment Intent
- name: Pull Request
- name: Users