Typeface Projects API
The Projects API from Typeface — 4 operation(s) for projects.
The Projects API from Typeface — 4 operation(s) for projects.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/typeface-projects-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: Typeface Audiences Projects API
version: v0
servers:
- url: https://api-us.typeface.ai
description: Generated server url
security:
- BearerAuth: []
tags:
- name: Projects
paths:
/workspace-service/accounts/{accountId}/projects:
get:
tags:
- Projects
operationId: queryProjectsInAccount_1
parameters:
- name: accountId
in: path
required: true
description: Unique identifier for the specific team
schema:
type: string
- name: workspaceSubType
in: query
required: false
schema:
type: string
default: DEFAULT
enum:
- ALCHEMIST
- WEAVER
- BATCH_OUTPUT
- DEFAULT
- BRAND_KIT_LIBRARY
- DECORATION_LIBRARY
- AUDIENCE_LIBRARY
- LOGO_LIBRARY
responses:
'200':
description: OK
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/QueryProjectsResponseBody'
- $ref: '#/components/schemas/QueryProjectResponseBody'
summary: List Projects
post:
tags:
- Projects
operationId: createProjectInAccount
parameters:
- name: accountId
in: path
required: true
description: Unique identifier for the specific team
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateProjectRequestBody'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/EntityModelProject'
summary: Create a Project
/workspace-service/accounts/{accountId}/projects/{projectId}:
get:
tags:
- Projects
operationId: getProjectInAccount
parameters:
- name: accountId
in: path
required: true
description: Unique identifier for the specific team
schema:
type: string
- name: projectId
in: path
required: true
description: Unique identifier for the specific project
schema:
type: integer
format: int64
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/EntityModelProject'
summary: Get a Project
put:
tags:
- Projects
operationId: updateProjectInAccount
parameters:
- name: accountId
in: path
required: true
description: Unique identifier for the specific team
schema:
type: string
- name: projectId
in: path
required: true
description: Unique identifier for the specific project
schema:
type: integer
format: int64
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateProjectRequestBody'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/EntityModelProject'
summary: Update Project
delete:
tags:
- Projects
operationId: deleteProjectInAccount
parameters:
- name: accountId
in: path
required: true
description: Unique identifier for the specific team
schema:
type: string
- name: projectId
in: path
required: true
description: Unique identifier for the specific project
schema:
type: integer
format: int64
responses:
'200':
description: OK
summary: Delete Project
/content-service/workspace/{projectId}/layout-manifests:
get:
tags:
- Projects
operationId: queryLayoutManifestsInProject
parameters:
- name: projectId
in: path
required: true
description: Unique identifier for the specific project
schema:
type: integer
format: int64
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/QueryLayoutManifestResponseBody'
summary: Project - List Layouts
/content-service/workspace/{projectId}/layout-manifests/{layoutId}:
get:
tags:
- Projects
operationId: getLayoutManifestsInProject
parameters:
- name: projectId
in: path
required: true
description: Unique identifier for the specific project
schema:
type: integer
format: int64
- name: layoutId
in: path
required: true
description: Unique identifier for the specific layout manifest
schema:
type: integer
format: int64
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/GetLayoutManifestResponseBody'
summary: Project - Get Layout
components:
schemas:
QueryProjectsResponseBody:
type: object
properties:
projects:
type: array
items:
$ref: '#/components/schemas/ProjectDetails'
EntityId:
type: object
properties:
id:
type: integer
format: int64
WorkspaceId:
type: object
properties:
id:
type: integer
format: int64
Link:
type: object
properties:
rel:
type: string
href:
type: string
hreflang:
type: string
media:
type: string
title:
type: string
type:
type: string
deprecation:
type: string
profile:
type: string
name:
type: string
BlobId:
type: object
properties:
id:
type: integer
format: int64
CreateProjectRequestBody:
type: object
properties:
name:
type: string
UpdateProjectRequestBody:
type: object
properties:
name:
type: string
LayoutManifestProperties:
type: object
properties:
layoutData:
type: object
additionalProperties:
type: object
blobId:
$ref: '#/components/schemas/BlobId'
GetLayoutManifestResponseBody:
type: object
properties:
layoutManifest:
$ref: '#/components/schemas/LayoutManifest'
ProjectDetails:
type: object
properties:
id:
$ref: '#/components/schemas/WorkspaceId'
ownerId:
type: string
name:
type: string
image:
$ref: '#/components/schemas/Image'
createdAt:
type: string
format: date-time
modifiedAt:
type: string
format: date-time
discarded:
type: boolean
properties:
$ref: '#/components/schemas/JsonNode'
workspaceSubType:
type: string
enum:
- ALCHEMIST
- WEAVER
- BATCH_OUTPUT
- DEFAULT
- BRAND_KIT_LIBRARY
- DECORATION_LIBRARY
- AUDIENCE_LIBRARY
- LOGO_LIBRARY
Image:
type: object
properties:
workspaceId:
$ref: '#/components/schemas/WorkspaceId'
id:
$ref: '#/components/schemas/EntityId'
name:
type: string
sourcePath:
type: string
ingestionSource:
type: string
properties:
$ref: '#/components/schemas/ImageProperties'
createdAt:
type: string
format: date-time
modifiedAt:
type: string
format: date-time
renditionId:
$ref: '#/components/schemas/EntityId'
createdBy:
type: string
modifiedBy:
type: string
LayoutManifest:
required:
- id
- workspaceId
type: object
properties:
workspaceId:
$ref: '#/components/schemas/WorkspaceId'
id:
$ref: '#/components/schemas/EntityId'
name:
type: string
sourcePath:
type: string
ref:
type: string
ingestionSource:
type: string
properties:
$ref: '#/components/schemas/LayoutManifestProperties'
createdAt:
type: string
format: date-time
modifiedAt:
type: string
format: date-time
renditionId:
$ref: '#/components/schemas/EntityId'
createdBy:
type: string
modifiedBy:
type: string
indexed:
type: boolean
entitySubType:
type: string
enum:
- DEFAULT
- GENERATED_IMAGE_PARENT
- DOCUMENT_INTERMEDIATE
- DOCUMENT_LAYOUT_HTML
QueryProjectResponseBody:
type: object
properties:
projects:
type: array
items:
$ref: '#/components/schemas/EntityModelProject'
links:
type: array
items:
$ref: '#/components/schemas/Link'
JsonNode:
type: object
ImageProperties:
type: object
properties:
blobId:
$ref: '#/components/schemas/BlobId'
QueryLayoutManifestResponseBody:
type: object
properties:
layoutManifests:
type: array
properties:
empty:
type: boolean
items:
$ref: '#/components/schemas/LayoutManifest'
EntityModelProject:
type: object
properties:
id:
type: integer
format: int64
name:
type: string
createdAt:
type: string
format: date-time
modifiedAt:
type: string
format: date-time
links:
type: array
items:
$ref: '#/components/schemas/Link'
securitySchemes:
BearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
x-readme:
explorer-enabled: true
proxy-enabled: true