Capmo Project Ticket Attachments API

The Project Ticket Attachments API from Capmo — 2 operation(s) for project ticket attachments.

OpenAPI Specification

capmo-project-ticket-attachments-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Capmo REST Organisation Companies Project Ticket Attachments API
  description: External REST API Documentation for Capmo
  version: '1.0'
  contact: {}
servers:
- url: https://api.capmo.de
  description: Production
tags:
- name: Project Ticket Attachments
  description: ''
paths:
  /api/v1/projects/{projectId}/tickets/{ticketId}/attachments:
    get:
      description: This can be used to list all project ticket attachments in a paginated response.
      operationId: getProjectTicketAttachments
      parameters:
      - name: projectId
        required: true
        in: path
        schema:
          type: string
      - name: ticketId
        required: true
        in: path
        schema:
          type: string
      - name: order_by
        required: false
        in: query
        description: Field to order by. It can be any field of the entity.
        schema:
          default: server_created_at
          example: created_at
          type: string
      - name: order_direction
        required: false
        in: query
        description: Order direction of the `order_by` field. It can be `asc` or `desc`.
        schema:
          default: asc
          example: asc
          type: string
          enum:
          - asc
          - desc
      - name: after
        required: false
        in: query
        description: The last element from the previous page. This is a cursor. It will be returned in the output to be used in the next request. When it is not present, the first page is returned. When it is `null`, there are no more pages.
        schema:
          type: string
      - name: limit
        required: false
        in: query
        description: How many items should be in the output.
        schema:
          minimum: 1
          maximum: 1000
          default: 200
          example: 20
          type: number
      - name: Request-Id
        in: header
        description: The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.
        schema: {}
      responses:
        '200':
          description: The project ticket attachments have been successfully retrieved.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Success
                  data:
                    allOf:
                    - $ref: '#/components/schemas/PaginatedOutputDto'
                    - properties:
                        items:
                          type: array
                          items:
                            $ref: '#/components/schemas/ReadTicketAttachmentDto'
        '400':
          description: Bad request, Invalid input
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    example: https://capmoapi.readme.io/reference/errors#bad-request
                  message:
                    type: string
                    example: An error occurred
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          example: BAD_REQUEST
                        message:
                          type: string
                          example: Bad request
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    example: https://capmoapi.readme.io/reference/errors#unauthorized
                  message:
                    type: string
                    example: An error occurred
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          example: UNAUTHORIZED
                        message:
                          type: string
                          example: Unauthorized
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    example: https://capmoapi.readme.io/reference/errors#forbidden
                  message:
                    type: string
                    example: An error occurred
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          example: FORBIDDEN
                        message:
                          type: string
                          example: Forbidden
        '404':
          description: Object not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    example: https://capmoapi.readme.io/reference/errors#not-found
                  message:
                    type: string
                    example: An error occurred
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          example: NOT_FOUND
                        message:
                          type: string
                          example: Object not found
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    example: https://capmoapi.readme.io/reference/errors#conflict
                  message:
                    type: string
                    example: An error occurred
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          example: CONFLICT
                        message:
                          type: string
                          example: Conflict
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    example: https://capmoapi.readme.io/reference/errors#internal-server-error
                  message:
                    type: string
                    example: An error occurred
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          example: INTERNAL_SERVER_ERROR
                        message:
                          type: string
                          example: Internal server error
      security:
      - CapmoAuth: []
      summary: ''
      tags:
      - Project Ticket Attachments
    post:
      description: This can be used to create a project ticket attachment.
      operationId: createProjectTicketAttachment
      parameters:
      - name: projectId
        required: true
        in: path
        schema:
          type: string
      - name: ticketId
        required: true
        in: path
        schema:
          type: string
      - name: Request-Id
        in: header
        description: The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.
        schema: {}
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAttachmentInputDto'
      responses:
        '200':
          description: The project ticket attachment has been successfully created.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Success
                  data:
                    $ref: '#/components/schemas/ReadTicketAttachmentDto'
        '400':
          description: Bad request, Invalid input
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    example: https://capmoapi.readme.io/reference/errors#bad-request
                  message:
                    type: string
                    example: An error occurred
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          example: BAD_REQUEST
                        message:
                          type: string
                          example: Bad request
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    example: https://capmoapi.readme.io/reference/errors#unauthorized
                  message:
                    type: string
                    example: An error occurred
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          example: UNAUTHORIZED
                        message:
                          type: string
                          example: Unauthorized
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    example: https://capmoapi.readme.io/reference/errors#forbidden
                  message:
                    type: string
                    example: An error occurred
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          example: FORBIDDEN
                        message:
                          type: string
                          example: Forbidden
        '404':
          description: Object not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    example: https://capmoapi.readme.io/reference/errors#not-found
                  message:
                    type: string
                    example: An error occurred
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          example: NOT_FOUND
                        message:
                          type: string
                          example: Object not found
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    example: https://capmoapi.readme.io/reference/errors#conflict
                  message:
                    type: string
                    example: An error occurred
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          example: CONFLICT
                        message:
                          type: string
                          example: Conflict
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    example: https://capmoapi.readme.io/reference/errors#internal-server-error
                  message:
                    type: string
                    example: An error occurred
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          example: INTERNAL_SERVER_ERROR
                        message:
                          type: string
                          example: Internal server error
      security:
      - CapmoAuth: []
      summary: ''
      tags:
      - Project Ticket Attachments
  /api/v1/projects/{projectId}/tickets/{ticketId}/attachments/{attachmentId}:
    get:
      description: This can be used to get a specific project ticket attachment by its ID.
      operationId: getProjectTicketAttachment
      parameters:
      - name: projectId
        required: true
        in: path
        schema:
          type: string
      - name: ticketId
        required: true
        in: path
        schema:
          type: string
      - name: attachmentId
        required: true
        in: path
        schema:
          type: string
      - name: Request-Id
        in: header
        description: The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.
        schema: {}
      responses:
        '200':
          description: The project ticket attachment has been successfully retrieved.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Success
                  data:
                    $ref: '#/components/schemas/ReadTicketAttachmentDto'
        '400':
          description: Bad request, Invalid input
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    example: https://capmoapi.readme.io/reference/errors#bad-request
                  message:
                    type: string
                    example: An error occurred
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          example: BAD_REQUEST
                        message:
                          type: string
                          example: Bad request
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    example: https://capmoapi.readme.io/reference/errors#unauthorized
                  message:
                    type: string
                    example: An error occurred
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          example: UNAUTHORIZED
                        message:
                          type: string
                          example: Unauthorized
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    example: https://capmoapi.readme.io/reference/errors#forbidden
                  message:
                    type: string
                    example: An error occurred
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          example: FORBIDDEN
                        message:
                          type: string
                          example: Forbidden
        '404':
          description: Object not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    example: https://capmoapi.readme.io/reference/errors#not-found
                  message:
                    type: string
                    example: An error occurred
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          example: NOT_FOUND
                        message:
                          type: string
                          example: Object not found
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    example: https://capmoapi.readme.io/reference/errors#conflict
                  message:
                    type: string
                    example: An error occurred
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          example: CONFLICT
                        message:
                          type: string
                          example: Conflict
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    example: https://capmoapi.readme.io/reference/errors#internal-server-error
                  message:
                    type: string
                    example: An error occurred
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          example: INTERNAL_SERVER_ERROR
                        message:
                          type: string
                          example: Internal server error
      security:
      - CapmoAuth: []
      summary: ''
      tags:
      - Project Ticket Attachments
    delete:
      description: This can be used to delete a specific project ticket attachment by its ID.
      operationId: deleteProjectTicketAttachment
      parameters:
      - name: projectId
        required: true
        in: path
        schema:
          type: string
      - name: ticketId
        required: true
        in: path
        schema:
          type: string
      - name: attachmentId
        required: true
        in: path
        schema:
          type: string
      - name: Request-Id
        in: header
        description: The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.
        schema: {}
      responses:
        '200':
          description: The project ticket attachment has been successfully deleted.
        '400':
          description: Bad request, Invalid input
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    example: https://capmoapi.readme.io/reference/errors#bad-request
                  message:
                    type: string
                    example: An error occurred
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          example: BAD_REQUEST
                        message:
                          type: string
                          example: Bad request
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    example: https://capmoapi.readme.io/reference/errors#unauthorized
                  message:
                    type: string
                    example: An error occurred
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          example: UNAUTHORIZED
                        message:
                          type: string
                          example: Unauthorized
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    example: https://capmoapi.readme.io/reference/errors#forbidden
                  message:
                    type: string
                    example: An error occurred
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          example: FORBIDDEN
                        message:
                          type: string
                          example: Forbidden
        '404':
          description: Object not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    example: https://capmoapi.readme.io/reference/errors#not-found
                  message:
                    type: string
                    example: An error occurred
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          example: NOT_FOUND
                        message:
                          type: string
                          example: Object not found
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    example: https://capmoapi.readme.io/reference/errors#conflict
                  message:
                    type: string
                    example: An error occurred
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          example: CONFLICT
                        message:
                          type: string
                          example: Conflict
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    example: https://capmoapi.readme.io/reference/errors#internal-server-error
                  message:
                    type: string
                    example: An error occurred
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          example: INTERNAL_SERVER_ERROR
                        message:
                          type: string
                          example: Internal server error
      security:
      - CapmoAuth: []
      summary: ''
      tags:
      - Project Ticket Attachments
components:
  schemas:
    CreateAttachmentInputDto:
      type: object
      properties:
        source_id:
          type: string
          description: The unique identifier of the source. This is a user-generated string. You can use this to link the person to a resource in an external system.
          example: 123e4567-e89b-12d3-a456-426614174000
        name:
          type: string
          description: The name of the file after initial upload.
          example: Report_2024.pdf
        data_path:
          type: string
          description: The data path of the file.
          example: 9357781c-05da-11ef-9539-7b47b1fda975/Report_2024.pdf
        mime_type:
          type: string
          description: The mime type of the file.
          example: application/pdf
      required:
      - name
      - data_path
    ReadTicketAttachmentDto:
      type: object
      properties:
        source_id:
          type: string
          description: The unique identifier of the source. This is a user-generated string. You can use this to link the person to a resource in an external system.
          example: 123e4567-e89b-12d3-a456-426614174000
        created_by:
          type: string
          nullable: true
          example: 123e4567-e89b-12d3-a456-426614174000
          description: The unique identifier of the creator of the entity.
        created_at:
          type: string
          format: date-time
          example: '2021-07-01T00:00:00.000Z'
          description: The date when the entity was created (on the client).
        updated_at:
          type: string
          format: date-time
          example: '2021-07-01T00:00:00.000Z'
          description: The date when the entity was last updated (on the client).
        deleted_at:
          type: string
          nullable: true
          format: date-time
          example: '2021-07-01T00:00:00.000Z'
          description: The date when the entity was deleted (on the client).
        server_created_at:
          type: string
          format: date-time
          example: '2021-07-01T00:00:00.000Z'
          description: The date when the entity was created (on the server).
        server_updated_at:
          type: string
          format: date-time
          example: '2021-07-01T00:00:00.000Z'
          description: The date when the entity was last updated (on the server).
        server_deleted_at:
          type: string
          nullable: true
          format: date-time
          example: '2021-07-01T00:00:00.000Z'
          description: The date when the entity was deleted (on the server).
        id:
          type: string
          example: 123e4567-e89b-12d3-a456-426614174000
          description: The unique identifier of the ticket attachment.
        ticket_id:
          type: string
          example: 123e4567-e89b-12d3-a456-426614174000
          description: ID of the ticket this attachment belongs to.
        project_id:
          type: string
          example: 123e4567-e89b-12d3-a456-426614174000
          description: ID of the project this attachment belongs to.
        file:
          example:
            type: image/png
            signed_download_url: https://example.com/download/file.png
          description: The file attached to the ticket.
          allOf:
          - $ref: '#/components/schemas/ReadAttachmentFileDto'
      required:
      - created_by
      - created_at
      - updated_at
      - deleted_at
      - server_created_at
      - server_updated_at
      - server_deleted_at
      - id
      - ticket_id
      - project_id
      - file
    ReadAttachmentFileDto:
      type: object
      properties:
        type:
          type: string
          example: image/png
          description: The type of the file.
          nullable: true
        name:
          type: string
          example: file.png
          description: The file name
          nullable: true
        signed_download_url:
          type: string
          example: https://example.com/download/file.png
          description: The file signed URL.
      required:
      - type
      - name
      - signed_download_url
    PaginatedOutputDto:
      type: object
      properties:
        after:
          type: string
          example: null
        count:
          type: number
          example: 1
        total:
          type: number
          example: 1
      required:
      - after
      - count
      - total
  securitySchemes:
    CapmoAuth:
      type: apiKey
      in: header
      name: Authorization
      description: 'For authentication, use the custom prefix followed by a space and then your API key. Example: "Capmo YOUR_API_KEY".'
x-readme:
  headers:
  - key: Request-Id
    value: YOUR_REQUEST_ID