ArthurAI Projects V1 API
The Projects V1 API from ArthurAI — 2 operation(s) for projects v1.
The Projects V1 API from ArthurAI — 2 operation(s) for projects v1.
openapi: 3.1.0
info:
title: Arthur GenAI Engine Agent Discovery Projects V1 API
version: 2.1.688
tags:
- name: Projects V1
paths:
/api/v1/workspaces/{workspace_id}/projects:
post:
tags:
- Projects V1
summary: Post Project.
description: Requires workspace_create_project permission.
operationId: post_project
security:
- OAuth2AuthorizationCode:
- workspace_create_project
parameters:
- name: workspace_id
in: path
required: true
schema:
type: string
format: uuid
title: Workspace Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostProject'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/Project'
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerError'
description: Internal Server Error
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestError'
description: Bad Request
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
description: Not Found
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
get:
tags:
- Projects V1
summary: Get Projects.
description: Requires workspace_list_projects permission.
operationId: get_projects
security:
- OAuth2AuthorizationCode:
- workspace_list_projects
parameters:
- name: workspace_id
in: path
required: true
schema:
type: string
format: uuid
title: Workspace Id
- name: sort
in: query
required: false
schema:
$ref: '#/components/schemas/ProjectSort'
description: Override the field used for sorting the returned list. Optional.
default: name
description: Override the field used for sorting the returned list. Optional.
- name: order
in: query
required: false
schema:
$ref: '#/components/schemas/SortOrder'
description: Override the sort order used. Optional.
default: desc
description: Override the sort order used. Optional.
- name: name
in: query
required: false
schema:
type: string
description: Search term to filter workspaces by name.
title: Name
description: Search term to filter workspaces by name.
- name: page
in: query
required: false
schema:
type: integer
minimum: 1
description: The page to return starting from 1 up to total_pages.
default: 1
title: Page
description: The page to return starting from 1 up to total_pages.
- name: page_size
in: query
required: false
schema:
type: integer
maximum: 1000
minimum: 1
description: The number of records per page. The max is 1000.
default: 20
title: Page Size
description: The number of records per page. The max is 1000.
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceList_Project_'
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerError'
description: Internal Server Error
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
description: Not Found
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/projects/{project_id}:
get:
tags:
- Projects V1
summary: Get Project
description: Fetches project by ID. Requires project_read permission.
operationId: get_project
security:
- OAuth2AuthorizationCode:
- project_read
parameters:
- name: project_id
in: path
required: true
schema:
type: string
format: uuid
title: Project Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/Project'
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerError'
description: Internal Server Error
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
description: Not Found
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
delete:
tags:
- Projects V1
summary: Delete Project.
description: Requires project_delete permission.
operationId: delete_project
security:
- OAuth2AuthorizationCode:
- project_delete
parameters:
- name: project_id
in: path
required: true
schema:
type: string
format: uuid
title: Project Id
responses:
'204':
description: Successful Response
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerError'
description: Internal Server Error
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestError'
description: Bad Request
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
description: Not Found
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
patch:
tags:
- Projects V1
summary: Patch Project.
description: Requires project_update permission.
operationId: patch_project
security:
- OAuth2AuthorizationCode:
- project_update
parameters:
- name: project_id
in: path
required: true
schema:
type: string
format: uuid
title: Project Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PatchProject'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/Project'
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerError'
description: Internal Server Error
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
description: Not Found
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
components:
schemas:
SortOrder:
type: string
enum:
- asc
- desc
title: SortOrder
ProjectSort:
type: string
enum:
- name
- created_at
- updated_at
title: ProjectSort
PatchProject:
properties:
name:
anyOf:
- type: string
- type: 'null'
title: Name
description: Name of the project.
description:
anyOf:
- type: string
- type: 'null'
title: Description
description: Description of the project.
type: object
title: PatchProject
BadRequestError:
properties:
detail:
type: string
title: Detail
default: Bad Request
type: object
title: BadRequestError
InternalServerError:
properties:
detail:
type: string
title: Detail
default: Internal server error
type: object
title: InternalServerError
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
Project:
properties:
created_at:
type: string
format: date-time
title: Created At
description: Time of record creation.
updated_at:
type: string
format: date-time
title: Updated At
description: Time of last record update.
id:
type: string
format: uuid
title: Id
description: ID of the project.
name:
type: string
title: Name
description: Name of the project.
description:
anyOf:
- type: string
- type: 'null'
title: Description
description: Description of the project.
workspace_id:
type: string
format: uuid
title: Workspace Id
description: ID of the parent workspace.
total_artifacts:
type: integer
title: Total Artifacts
description: 'Count of artifacts in the project. Current supported artifacts are: models, including shield tasks and bench test suites.'
type: object
required:
- created_at
- updated_at
- id
- name
- workspace_id
- total_artifacts
title: Project
NotFoundError:
properties:
detail:
type: string
title: Detail
default: Resource not found
type: object
title: NotFoundError
PostProject:
properties:
name:
type: string
title: Name
description: Name of the project.
description:
anyOf:
- type: string
- type: 'null'
title: Description
description: Description of the project.
type: object
required:
- name
title: PostProject
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
Pagination:
properties:
page:
type: integer
title: Page
description: The current page number. Page 1 is the first page.
default: 1
page_size:
type: integer
title: Page Size
description: Number of records per page.
default: 20
total_pages:
type: integer
title: Total Pages
description: Total number of pages.
total_records:
type: integer
title: Total Records
description: Total number of records across all pages.
type: object
required:
- total_pages
- total_records
title: Pagination
ResourceList_Project_:
properties:
records:
items:
$ref: '#/components/schemas/Project'
type: array
title: Records
description: List of records.
pagination:
$ref: '#/components/schemas/Pagination'
description: Pagination information.
type: object
required:
- records
- pagination
title: ResourceList[Project]
securitySchemes:
API Key:
type: http
description: Bearer token authentication with an API key
scheme: bearer