sketchxflow-com Sharing API

The sharing API from sketchxflow-com — 6 operation(s) for sharing.

Operations 10

GET /api/projects/{project_id}/members List Project Access #
POST /api/projects/{project_id}/members Invite To Project #
PATCH /api/projects/{project_id}/members/{member_id} Update Project Role #
DELETE /api/projects/{project_id}/members/{member_id} Remove Project Member #
DELETE /api/projects/{project_id}/invites/{invite_id} Revoke Project Invite #
GET /api/logos/{kit_id}/members List Logo Access #
POST /api/logos/{kit_id}/members Invite To Logo #
PATCH /api/logos/{kit_id}/members/{member_id} Update Logo Role #
DELETE /api/logos/{kit_id}/members/{member_id} Remove Logo Member #
DELETE /api/logos/{kit_id}/invites/{invite_id} Revoke Logo Invite #

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/sketchxflow-com:sketchxflow-com-sharing-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

sketchxflow-com-sharing-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: SketchXFlow Sharing API
  version: 0.1.0
tags:
- name: Sharing
paths:
  /api/projects/{project_id}/members:
    get:
      tags:
      - Sharing
      summary: List Project Access
      description: Who has access to this project. Anyone with access may look.
      operationId: list_project_access_api_projects__project_id__members_get
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
          title: Project Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectAccessResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    post:
      tags:
      - Sharing
      summary: Invite To Project
      description: 'Share this project with an email address (owner only).


        No plan gate. Sharing a project you made is not a premium feature — the

        Business gate stays on *teams*, which are shared workspaces with seats and

        billing. An address with no account yet gets a pending invite rather than

        a refusal; it converts the moment they sign up.'
      operationId: invite_to_project_api_projects__project_id__members_post
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
          title: Project Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InviteToProjectRequest'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectPersonResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/projects/{project_id}/members/{member_id}:
    patch:
      tags:
      - Sharing
      summary: Update Project Role
      description: Change a collaborator's role between edit and view (owner only).
      operationId: update_project_role_api_projects__project_id__members__member_id__patch
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
          title: Project Id
      - name: member_id
        in: path
        required: true
        schema:
          type: string
          title: Member Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateProjectRoleRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectPersonResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - Sharing
      summary: Remove Project Member
      description: 'Revoke access, or leave the project yourself.


        Removing yourself needs no permission and is checked first — a collaborator

        must be able to walk away from a project without asking its owner.'
      operationId: remove_project_member_api_projects__project_id__members__member_id__delete
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
          title: Project Id
      - name: member_id
        in: path
        required: true
        schema:
          type: string
          title: Member Id
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/projects/{project_id}/invites/{invite_id}:
    delete:
      tags:
      - Sharing
      summary: Revoke Project Invite
      description: Withdraw an invite that hasn't been claimed yet (owner only).
      operationId: revoke_project_invite_api_projects__project_id__invites__invite_id__delete
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
          title: Project Id
      - name: invite_id
        in: path
        required: true
        schema:
          type: string
          title: Invite Id
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/logos/{kit_id}/members:
    get:
      tags:
      - Sharing
      summary: List Logo Access
      description: Who has access to this kit. Anyone with access may look.
      operationId: list_logo_access_api_logos__kit_id__members_get
      parameters:
      - name: kit_id
        in: path
        required: true
        schema:
          type: string
          title: Kit Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectAccessResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    post:
      tags:
      - Sharing
      summary: Invite To Logo
      description: Share this logo kit with an email address (owner only).
      operationId: invite_to_logo_api_logos__kit_id__members_post
      parameters:
      - name: kit_id
        in: path
        required: true
        schema:
          type: string
          title: Kit Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InviteToProjectRequest'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectPersonResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/logos/{kit_id}/members/{member_id}:
    patch:
      tags:
      - Sharing
      summary: Update Logo Role
      description: Move someone between edit and view (owner only).
      operationId: update_logo_role_api_logos__kit_id__members__member_id__patch
      parameters:
      - name: kit_id
        in: path
        required: true
        schema:
          type: string
          title: Kit Id
      - name: member_id
        in: path
        required: true
        schema:
          type: string
          title: Member Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateProjectRoleRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectPersonResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - Sharing
      summary: Remove Logo Member
      description: 'Revoke access, or leave the kit when `member_id` is your own id.


        Self-removal needs nobody''s permission, so it is checked BEFORE ownership —

        otherwise leaving a kit would require being its owner, which is backwards.'
      operationId: remove_logo_member_api_logos__kit_id__members__member_id__delete
      parameters:
      - name: kit_id
        in: path
        required: true
        schema:
          type: string
          title: Kit Id
      - name: member_id
        in: path
        required: true
        schema:
          type: string
          title: Member Id
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/logos/{kit_id}/invites/{invite_id}:
    delete:
      tags:
      - Sharing
      summary: Revoke Logo Invite
      description: Withdraw a pending invite before it is claimed (owner only).
      operationId: revoke_logo_invite_api_logos__kit_id__invites__invite_id__delete
      parameters:
      - name: kit_id
        in: path
        required: true
        schema:
          type: string
          title: Kit Id
      - name: invite_id
        in: path
        required: true
        schema:
          type: string
          title: Invite Id
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    InviteToProjectRequest:
      properties:
        email:
          type: string
          title: Email
        role:
          type: string
          title: Role
          default: viewer
      type: object
      required:
      - email
      title: InviteToProjectRequest
    ProjectPersonResponse:
      properties:
        user_id:
          anyOf:
          - type: string
          - type: 'null'
          title: User Id
        invite_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Invite Id
        username:
          type: string
          title: Username
          default: ''
        email:
          type: string
          title: Email
        full_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Full Name
        avatar_url:
          anyOf:
          - type: string
          - type: 'null'
          title: Avatar Url
        role:
          type: string
          title: Role
        status:
          type: string
          title: Status
          default: active
        created_at:
          anyOf:
          - type: string
          - type: 'null'
          title: Created At
        notified:
          type: boolean
          title: Notified
          default: false
      type: object
      required:
      - email
      - role
      title: ProjectPersonResponse
      description: 'One row of the access list.


        Active collaborators and pending invites share a shape so the clients can

        render a single list. `status` says which: "active" has a `user_id`,

        "pending" has an `invite_id` and is waiting on the address to register.'
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    ProjectAccessResponse:
      properties:
        project_id:
          type: string
          title: Project Id
        owner:
          anyOf:
          - $ref: '#/components/schemas/ProjectPersonResponse'
          - type: 'null'
        members:
          items:
            $ref: '#/components/schemas/ProjectPersonResponse'
          type: array
          title: Members
          default: []
        pending:
          items:
            $ref: '#/components/schemas/ProjectPersonResponse'
          type: array
          title: Pending
          default: []
        my_role:
          anyOf:
          - type: string
          - type: 'null'
          title: My Role
        is_owner:
          type: boolean
          title: Is Owner
          default: false
        team_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Team Id
      type: object
      required:
      - project_id
      title: ProjectAccessResponse
      description: 'Everything a share sheet needs in one request.


        `my_role` and `is_owner` are the fields the clients gate their UI on:

        only the owner may change this list, and only owner/editor may edit the

        project itself.'
    UpdateProjectRoleRequest:
      properties:
        role:
          type: string
          title: Role
      type: object
      required:
      - role
      title: UpdateProjectRoleRequest
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError