Diagram Projects API

The Projects API from Diagram — 4 operation(s) for projects.

Operations 7

GET /projects List projects you own or were added to #
POST /projects Create a project #
GET /projects/{slug} A project and its diagrams #
POST /projects/{slug}/members Give an email read access #
DELETE /projects/{slug}/members Remove an email #
GET /projects/{slug}/diagrams List a project's diagrams #
POST /projects/{slug}/diagrams Create a diagram from self-contained HTML; returns its permanent url #

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/diagram-la:diagram-la-projects-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

diagram-la-projects-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Diagram La Projects API
  version: 1.0.0
  description: 'Operations tagged Projects across 2 of this provider''s published API definitions: diagram-la-openapi.json, diagram-la-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://diagram.la/api/v1
security:
- bearer: []
tags:
- name: Projects
paths:
  /projects:
    get:
      operationId: listProjects
      summary: List projects you own or were added to
      responses:
        '200':
          description: '{ projects }'
          content:
            application/json:
              schema:
                type: object
      tags:
      - Projects
    post:
      operationId: createProject
      summary: Create a project
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: https://json-schema.org/draft/2020-12/schema
              type: object
              properties:
                slug:
                  type: string
                  pattern: ^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$
                name:
                  type: string
                  minLength: 1
                  maxLength: 120
                org:
                  description: Org slug to put the project in; omit for a personal project
                  type: string
                  pattern: ^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$
              required:
              - slug
      responses:
        '201':
          description: '{ project }'
          content:
            application/json:
              schema:
                type: object
      tags:
      - Projects
    servers:
    - url: https://diagram.la/api/v1
  /projects/{slug}:
    get:
      operationId: getProject
      summary: A project and its diagrams
      parameters:
      - name: slug
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: '{ project, diagrams }'
          content:
            application/json:
              schema:
                type: object
      tags:
      - Projects
    servers:
    - url: https://diagram.la/api/v1
  /projects/{slug}/members:
    post:
      operationId: addMember
      summary: Give an email read access
      parameters:
      - name: slug
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: https://json-schema.org/draft/2020-12/schema
              type: object
              properties:
                email:
                  type: string
                  format: email
                  pattern: ^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
              required:
              - email
      responses:
        '200':
          description: '{ project }'
          content:
            application/json:
              schema:
                type: object
      tags:
      - Projects
    delete:
      operationId: removeMember
      summary: Remove an email
      parameters:
      - name: slug
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: https://json-schema.org/draft/2020-12/schema
              type: object
              properties:
                email:
                  type: string
                  format: email
                  pattern: ^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
              required:
              - email
      responses:
        '200':
          description: '{ project }'
          content:
            application/json:
              schema:
                type: object
      tags:
      - Projects
    servers:
    - url: https://diagram.la/api/v1
  /projects/{slug}/diagrams:
    get:
      operationId: listDiagrams
      summary: List a project's diagrams
      parameters:
      - name: slug
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: '{ diagrams }'
          content:
            application/json:
              schema:
                type: object
      tags:
      - Projects
    post:
      operationId: createDiagram
      summary: Create a diagram from self-contained HTML; returns its permanent url
      parameters:
      - name: slug
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: https://json-schema.org/draft/2020-12/schema
              type: object
              properties:
                title:
                  type: string
                  minLength: 1
                  maxLength: 200
                html:
                  type: string
                  minLength: 1
                visibility:
                  default: private
                  type: string
                  enum:
                  - public
                  - private
                kind:
                  type: string
                  enum:
                  - flowchart
                  - sequence
                  - architecture
                  - data_flow
                  - data_model
                  - state
                  - mind_map
                  - tree
                  - timeline
                  - gantt
                  - wireframe
                  - chart
                  - comparison
                  - exploded_view
                  - map
                  - infographic
                  - other
                  description: 'What kind of diagram this is (its form, not its subject): flowchart (process or decision flow, user journey); sequence (sequence diagram: messages between parts over time); architecture (system, cloud, component, C4 or network diagram); data_flow (data flow, pipeline, ETL); data_model (ER diagram, database schema, class diagram); state (state machine or lifecycle); mind_map (mind map or concept map); tree (org chart, hierarchy, decision tree, sitemap); timeline (timeline or roadmap); gantt (Gantt chart or project schedule); wireframe (UI mockup, wireframe, screen flow); chart (bar, line or pie chart, dashboard); comparison (comparison table, matrix, quadrant, Venn); exploded_view (exploded view, assembly, cutaway of a physical object); map (map, floor plan, layout of a place); infographic (infographic, poster, explainer page); other (none of these)'
                draft:
                  description: Start it as a draft only you can see, to publish later
                  type: boolean
              required:
              - title
              - html
      responses:
        '201':
          description: '{ diagram }'
          content:
            application/json:
              schema:
                type: object
      tags:
      - Projects
    servers:
    - url: https://diagram.la/api/v1
components:
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
      description: Diagram API key (dgm_...)
x-refined-from:
- diagram-la-openapi.json
- diagram-la-openapi.yml