Luminance · OpenAPI Overlay 1.0.0

API Evangelist enhancements for Luminance Public API v2

95 actions 95 updates documentation extends openapi/luminance-public-api-v2-openapi-original.yml
Generated by API Evangelist Written by API Evangelist tooling for Luminance's API. It is a proposal applied on top of the contract, not a document Luminance publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

operationIdx-apievangelist-profilex-apievangelist-harvested-fromx-apievangelist-harvest-notex-apievangelist-gaps

Targets 95 · first 16 shown; the file carries all of them

$.info
$.paths['/api2/'].get
$.paths['/api2/users'].get
$.paths['/api2/users/{id}'].get
$.paths['/api2/users/me'].get
$.paths['/api2/project_users'].get
$.paths['/api2/project_users/{id}'].get
$.paths['/api2/annotation_types'].get
$.paths['/api2/annotation_types/{id}'].get
$.paths['/api2/annotation_sources'].get
$.paths['/api2/annotation_sources'].post
$.paths['/api2/annotation_sources'].patch
$.paths['/api2/annotation_sources/{id}'].get
$.paths['/api2/annotation_sources/{id}'].patch
$.paths['/api2/annotation_source_relations'].get
$.paths['/api2/annotation_source_relations'].post

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for Luminance Public API v2
  version: 1.0.0
extends: openapi/luminance-public-api-v2-openapi-original.yml
x-generated: '2026-08-04'
x-method: generated
x-source: openapi/luminance-public-api-v2-openapi-original.yml
x-description: Luminance ships all 94 operations of the v1.5 "Public API v2" without an operationId, which makes
  the spec un-referenceable by SDK generators, Arazzo workflows and agent tooling. This overlay adds a deterministic
  verb+path operationId to every operation and annotates info with the harvest provenance and the contract gaps.
  It is API Evangelist metadata, not a Luminance claim, and the harvested spec is never mutated.
actions:
- target: $.info
  update:
    x-apievangelist-profile: https://apis.io/provider/luminance
    x-apievangelist-harvested-from: https://api.luminance.com/swagger-docsv150
    x-apievangelist-harvest-note: Extracted verbatim from the swaggerDoc object embedded in the provider-served
      Swagger UI bundle at /swagger-docsv150/swagger-ui-init.js; the spec is not published at a standalone URL.
    x-apievangelist-gaps:
    - no-operationids
    - no-error-schemas
    - no-idempotency
    - no-rate-limit-headers
    - no-webhooks
    - no-examples
- target: $.paths['/api2/'].get
  update:
    operationId: getSystem
- target: $.paths['/api2/users'].get
  update:
    operationId: getUsers
- target: $.paths['/api2/users/{id}'].get
  update:
    operationId: getUsersById
- target: $.paths['/api2/users/me'].get
  update:
    operationId: getUsersMe
- target: $.paths['/api2/project_users'].get
  update:
    operationId: getProjectUsers
- target: $.paths['/api2/project_users/{id}'].get
  update:
    operationId: getProjectUsersById
- target: $.paths['/api2/annotation_types'].get
  update:
    operationId: getAnnotationTypes
- target: $.paths['/api2/annotation_types/{id}'].get
  update:
    operationId: getAnnotationTypesById
- target: $.paths['/api2/annotation_sources'].get
  update:
    operationId: getAnnotationSources
- target: $.paths['/api2/annotation_sources'].post
  update:
    operationId: createAnnotationSources
- target: $.paths['/api2/annotation_sources'].patch
  update:
    operationId: updateAnnotationSources
- target: $.paths['/api2/annotation_sources/{id}'].get
  update:
    operationId: getAnnotationSourcesById
- target: $.paths['/api2/annotation_sources/{id}'].patch
  update:
    operationId: updateAnnotationSourcesById
- target: $.paths['/api2/annotation_source_relations'].get
  update:
    operationId: getAnnotationSourceRelations
- target: $.paths['/api2/annotation_source_relations'].post
  update:
    operationId: createAnnotationSourceRelations
- target: $.paths['/api2/annotation_source_relations/{id}'].get
  update:
    operationId: getAnnotationSourceRelationsById
- target: $.paths['/api2/annotation_source_relations/{id}'].patch
  update:
    operationId: updateAnnotationSourceRelationsById
- target: $.paths['/api2/search'].get
  update:
    operationId: getSearch
- target: $.paths['/api2/search/documents'].get
  update:
    operationId: getSearchDocuments
- target: $.paths['/api2/search/matters'].get
  update:
    operationId: getSearchMatters
- target: $.paths['/api2/projects'].get
  update:
    operationId: getProjects
- target: $.paths['/api2/projects/{project_id}'].get
  update:
    operationId: getProjectsByProjectId
- target: $.paths['/api2/projects/{project_id}/folders'].get
  update:
    operationId: getProjectsByProjectIdFolders
- target: $.paths['/api2/projects/{project_id}/folders'].post
  update:
    operationId: createProjectsByProjectIdFolders
- target: $.paths['/api2/projects/{project_id}/folders'].patch
  update:
    operationId: updateProjectsByProjectIdFolders
- target: $.paths['/api2/projects/{project_id}/folders'].delete
  update:
    operationId: deleteProjectsByProjectIdFolders
- target: $.paths['/api2/projects/{project_id}/folders/{folder_id}'].get
  update:
    operationId: getProjectsByProjectIdFoldersByFolderId
- target: $.paths['/api2/projects/{project_id}/folders/{folder_id}'].patch
  update:
    operationId: updateProjectsByProjectIdFoldersByFolderId
- target: $.paths['/api2/projects/{project_id}/folders/{folder_id}'].delete
  update:
    operationId: deleteProjectsByProjectIdFoldersByFolderId
- target: $.paths['/api2/projects/{project_id}/folders/{folder_id}/upload'].post
  update:
    operationId: createProjectsByProjectIdFoldersByFolderIdUpload
- target: $.paths['/api2/projects/{project_id}/folders/{folder_id}/documents'].get
  update:
    operationId: getProjectsByProjectIdFoldersByFolderIdDocuments
- target: $.paths['/api2/projects/{project_id}/folders/{folder_id}/documents'].delete
  update:
    operationId: deleteProjectsByProjectIdFoldersByFolderIdDocuments
- target: $.paths['/api2/projects/{project_id}/folders/{folder_id}/documents/{document_id}'].get
  update:
    operationId: getProjectsByProjectIdFoldersByFolderIdDocumentsByDocumentId
- target: $.paths['/api2/projects/{project_id}/folders/{folder_id}/documents/{document_id}'].delete
  update:
    operationId: deleteProjectsByProjectIdFoldersByFolderIdDocumentsByDocumentId
- target: $.paths['/api2/projects/{project_id}/folders/{folder_id}/documents/{document_id}/annotations'].get
  update:
    operationId: getProjectsByProjectIdFoldersByFolderIdDocumentsByDocumentIdAnnotations
- target: $.paths['/api2/projects/{project_id}/folders/{folder_id}/documents/{document_id}/annotations/annotationText'].get
  update:
    operationId: getProjectsByProjectIdFoldersByFolderIdDocumentsByDocumentIdAnnotationsAnnotationtext
- target: $.paths['/api2/projects/{project_id}/folders/{folder_id}/documents/{document_id}/download'].get
  update:
    operationId: getProjectsByProjectIdFoldersByFolderIdDocumentsByDocumentIdDownload
- target: $.paths['/api2/projects/{project_id}/documents'].get
  update:
    operationId: getProjectsByProjectIdDocuments
- target: $.paths['/api2/projects/{project_id}/documents'].delete
  update:
    operationId: deleteProjectsByProjectIdDocuments
- target: $.paths['/api2/projects/{project_id}/documents/{document_id}'].get
  update:
    operationId: getProjectsByProjectIdDocumentsByDocumentId
- target: $.paths['/api2/projects/{project_id}/documents/{document_id}'].delete
  update:
    operationId: deleteProjectsByProjectIdDocumentsByDocumentId
- target: $.paths['/api2/projects/{project_id}/documents/{document_id}/download'].get
  update:
    operationId: getProjectsByProjectIdDocumentsByDocumentIdDownload
- target: $.paths['/api2/projects/{project_id}/documents/{document_id}/traffic_light_analysis'].post
  update:
    operationId: createProjectsByProjectIdDocumentsByDocumentIdTrafficLightAnalysis
- target: $.paths['/api2/projects/{project_id}/documents/{document_id}/annotations'].get
  update:
    operationId: getProjectsByProjectIdDocumentsByDocumentIdAnnotations
- target: $.paths['/api2/projects/{project_id}/documents/{document_id}/annotations/annotationText'].get
  update:
    operationId: getProjectsByProjectIdDocumentsByDocumentIdAnnotationsAnnotationtext
- target: $.paths['/api2/projects/{project_id}/documents/{document_id}/notes'].get
  update:
    operationId: getProjectsByProjectIdDocumentsByDocumentIdNotes
- target: $.paths['/api2/projects/{project_id}/documents/{document_id}/notes/{id}'].get
  update:
    operationId: getProjectsByProjectIdDocumentsByDocumentIdNotesById
- target: $.paths['/api2/projects/{project_id}/document_templates'].get
  update:
    operationId: getProjectsByProjectIdDocumentTemplates
- target: $.paths['/api2/projects/{project_id}/document_templates/{document_template_id}'].get
  update:
    operationId: getProjectsByProjectIdDocumentTemplatesByDocumentTemplateId
- target: $.paths['/api2/projects/{project_id}/document_templates/{document_template_id}/fields'].get
  update:
    operationId: getProjectsByProjectIdDocumentTemplatesByDocumentTemplateIdFields
- target: $.paths['/api2/projects/{project_id}/document_templates/create'].post
  update:
    operationId: createProjectsByProjectIdDocumentTemplatesCreate
- target: $.paths['/api2/projects/{project_id}/matters'].get
  update:
    operationId: getProjectsByProjectIdMatters
- target: $.paths['/api2/projects/{project_id}/matters'].post
  update:
    operationId: createProjectsByProjectIdMatters
- target: $.paths['/api2/projects/{project_id}/matters'].patch
  update:
    operationId: updateProjectsByProjectIdMatters
- target: $.paths['/api2/projects/{project_id}/matters'].delete
  update:
    operationId: deleteProjectsByProjectIdMatters
- target: $.paths['/api2/projects/{project_id}/matters/create'].post
  update:
    operationId: createProjectsByProjectIdMattersCreate
- target: $.paths['/api2/projects/{project_id}/matters/{matter_id}'].get
  update:
    operationId: getProjectsByProjectIdMattersByMatterId
- target: $.paths['/api2/projects/{project_id}/matters/{matter_id}'].patch
  update:
    operationId: updateProjectsByProjectIdMattersByMatterId
- target: $.paths['/api2/projects/{project_id}/matters/{matter_id}'].delete
  update:
    operationId: deleteProjectsByProjectIdMattersByMatterId
- target: $.paths['/api2/projects/{project_id}/matters/{matter_id}/annotations'].get
  update:
    operationId: getProjectsByProjectIdMattersByMatterIdAnnotations
- target: $.paths['/api2/projects/{project_id}/matters/{matter_id}/annotations'].post
  update:
    operationId: createProjectsByProjectIdMattersByMatterIdAnnotations
- target: $.paths['/api2/projects/{project_id}/matters/{matter_id}/annotations'].patch
  update:
    operationId: updateProjectsByProjectIdMattersByMatterIdAnnotations
- target: $.paths['/api2/projects/{project_id}/matters/{matter_id}/annotations'].delete
  update:
    operationId: deleteProjectsByProjectIdMattersByMatterIdAnnotations
- target: $.paths['/api2/projects/{project_id}/matters/{matter_id}/annotations/{annotation_id}'].get
  update:
    operationId: getProjectsByProjectIdMattersByMatterIdAnnotationsByAnnotationId
- target: $.paths['/api2/projects/{project_id}/matters/{matter_id}/annotations/{annotation_id}'].patch
  update:
    operationId: updateProjectsByProjectIdMattersByMatterIdAnnotationsByAnnotationId
- target: $.paths['/api2/projects/{project_id}/matters/{matter_id}/annotations/{annotation_id}'].delete
  update:
    operationId: deleteProjectsByProjectIdMattersByMatterIdAnnotationsByAnnotationId
- target: $.paths['/api2/projects/{project_id}/matters/{matter_id}/relations'].get
  update:
    operationId: getProjectsByProjectIdMattersByMatterIdRelations
- target: $.paths['/api2/projects/{project_id}/matters/{matter_id}/relations'].post
  update:
    operationId: createProjectsByProjectIdMattersByMatterIdRelations
- target: $.paths['/api2/projects/{project_id}/matters/{matter_id}/relations'].delete
  update:
    operationId: deleteProjectsByProjectIdMattersByMatterIdRelations
- target: $.paths['/api2/projects/{project_id}/matters/{matter_id}/relations/{relation_id}'].get
  update:
    operationId: getProjectsByProjectIdMattersByMatterIdRelationsByRelationId
- target: $.paths['/api2/projects/{project_id}/matters/{matter_id}/relations/{relation_id}'].delete
  update:
    operationId: deleteProjectsByProjectIdMattersByMatterIdRelationsByRelationId
- target: $.paths['/api2/projects/{project_id}/matters/{matter_id}/events'].get
  update:
    operationId: getProjectsByProjectIdMattersByMatterIdEvents
- target: $.paths['/api2/projects/{project_id}/matters/{matter_id}/versions'].get
  update:
    operationId: getProjectsByProjectIdMattersByMatterIdVersions
- target: $.paths['/api2/projects/{project_id}/matters/{matter_id}/versions/{version_id}/assignable_users'].get
  update:
    operationId: getProjectsByProjectIdMattersByMatterIdVersionsByVersionIdAssignableUsers
- target: $.paths['/api2/projects/{project_id}/matters/{matter_id}/versions/{version_id}/assign'].patch
  update:
    operationId: updateProjectsByProjectIdMattersByMatterIdVersionsByVersionIdAssign
- target: $.paths['/api2/projects/{project_id}/matters/{matter_id}/versions/add_attachment'].post
  update:
    operationId: createProjectsByProjectIdMattersByMatterIdVersionsAddAttachment
- target: $.paths['/api2/projects/{project_id}/tasks'].get
  update:
    operationId: getProjectsByProjectIdTasks
- target: $.paths['/api2/projects/{project_id}/tasks/{task_id}'].get
  update:
    operationId: getProjectsByProjectIdTasksByTaskId
- target: $.paths['/api2/projects/{project_id}/tasks/knowledge_bank_from_template'].post
  update:
    operationId: createProjectsByProjectIdTasksKnowledgeBankFromTemplate
- target: $.paths['/api2/projects/{project_id}/tasks/{task_id}/reviews'].get
  update:
    operationId: getProjectsByProjectIdTasksByTaskIdReviews
- target: $.paths['/api2/projects/{project_id}/tasks/{task_id}/reviews'].post
  update:
    operationId: createProjectsByProjectIdTasksByTaskIdReviews
- target: $.paths['/api2/projects/{project_id}/tasks/{task_id}/reviews'].patch
  update:
    operationId: updateProjectsByProjectIdTasksByTaskIdReviews
- target: $.paths['/api2/projects/{project_id}/tasks/{task_id}/reviews/{review_id}'].get
  update:
    operationId: getProjectsByProjectIdTasksByTaskIdReviewsByReviewId
- target: $.paths['/api2/projects/{project_id}/tasks/{task_id}/reviews/{review_id}'].patch
  update:
    operationId: updateProjectsByProjectIdTasksByTaskIdReviewsByReviewId
- target: $.paths['/api2/projects/{project_id}/tasks/{task_id}/reviews/{review_id}/analysis'].get
  update:
    operationId: getProjectsByProjectIdTasksByTaskIdReviewsByReviewIdAnalysis
- target: $.paths['/api2/projects/{project_id}/tasks/{task_id}/reviews/documents'].get
  update:
    operationId: getProjectsByProjectIdTasksByTaskIdReviewsDocuments
- target: $.paths['/api2/projects/{project_id}/tasks/{task_id}/reviews/documents'].delete
  update:
    operationId: deleteProjectsByProjectIdTasksByTaskIdReviewsDocuments
- target: $.paths['/api2/projects/{project_id}/tasks/{task_id}/reviews/documents/{document_id}'].get
  update:
    operationId: getProjectsByProjectIdTasksByTaskIdReviewsDocumentsByDocumentId
- target: $.paths['/api2/projects/{project_id}/tasks/{task_id}/reviews/documents/{document_id}'].delete
  update:
    operationId: deleteProjectsByProjectIdTasksByTaskIdReviewsDocumentsByDocumentId
- target: $.paths['/api2/projects/{project_id}/tasks/{task_id}/reviews/documents/{document_id}/download'].get
  update:
    operationId: getProjectsByProjectIdTasksByTaskIdReviewsDocumentsByDocumentIdDownload
- target: $.paths['/api2/projects/{project_id}/tasks/{task_id}/reviews/documents/{document_id}/annotations'].get
  update:
    operationId: getProjectsByProjectIdTasksByTaskIdReviewsDocumentsByDocumentIdAnnotations
- target: $.paths['/api2/projects/{project_id}/tasks/{task_id}/reviews/documents/{document_id}/annotations/annotationText'].get
  update:
    operationId: getProjectsByProjectIdTasksByTaskIdReviewsDocumentsByDocumentIdAnnotationsAnnotationtext
- target: $.paths['/api2/projects/{project_id}/workflows'].get
  update:
    operationId: getProjectsByProjectIdWorkflows
- target: $.paths['/api2/projects/{project_id}/workflows/{id}'].get
  update:
    operationId: getProjectsByProjectIdWorkflowsById