openapi: 3.1.0 info: title: Amika API — v0beta1 API keys Services API version: 0beta1 tags: - name: Services paths: /services: post: tags: - Services summary: Create a service definition for a repository security: - bearerAuth: [] - cookieAuth: [] requestBody: content: application/json: schema: allOf: - type: object properties: repo_url: type: string minLength: 1 required: - repo_url - type: object properties: name: type: string minLength: 1 maxLength: 255 ports: type: array items: type: object properties: port: type: integer minimum: 1 maximum: 65535 protocol: type: string enum: - tcp - udp default: tcp url_scheme: type: string nullable: true enum: - http - https - null required: - port required: - name - ports responses: '201': description: Created service definition. content: application/json: schema: $ref: '#/components/schemas/ServiceDefinition' '400': description: Error headers: x-trace-id: description: Per-request trace id for correlating responses with logs. schema: type: string content: application/json: schema: type: object properties: type: type: string enum: - error error_code: type: string message: type: string details: type: array items: nullable: true trace_id: type: string required: - type - error_code - message '401': description: Error headers: x-trace-id: description: Per-request trace id for correlating responses with logs. schema: type: string content: application/json: schema: type: object properties: type: type: string enum: - error error_code: type: string message: type: string details: type: array items: nullable: true trace_id: type: string required: - type - error_code - message '403': description: Error headers: x-trace-id: description: Per-request trace id for correlating responses with logs. schema: type: string content: application/json: schema: type: object properties: type: type: string enum: - error error_code: type: string message: type: string details: type: array items: nullable: true trace_id: type: string required: - type - error_code - message '409': description: Error headers: x-trace-id: description: Per-request trace id for correlating responses with logs. schema: type: string content: application/json: schema: type: object properties: type: type: string enum: - error error_code: type: string message: type: string details: type: array items: nullable: true trace_id: type: string required: - type - error_code - message /services/{id}: put: tags: - Services summary: Update a service definition security: - bearerAuth: [] - cookieAuth: [] parameters: - schema: type: string minLength: 1 required: true name: id in: path requestBody: content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 255 ports: type: array items: type: object properties: port: type: integer minimum: 1 maximum: 65535 protocol: type: string enum: - tcp - udp default: tcp url_scheme: type: string nullable: true enum: - http - https - null required: - port required: - name - ports responses: '200': description: Updated service definition. content: application/json: schema: $ref: '#/components/schemas/ServiceDefinition' '400': description: Error headers: x-trace-id: description: Per-request trace id for correlating responses with logs. schema: type: string content: application/json: schema: type: object properties: type: type: string enum: - error error_code: type: string message: type: string details: type: array items: nullable: true trace_id: type: string required: - type - error_code - message '401': description: Error headers: x-trace-id: description: Per-request trace id for correlating responses with logs. schema: type: string content: application/json: schema: type: object properties: type: type: string enum: - error error_code: type: string message: type: string details: type: array items: nullable: true trace_id: type: string required: - type - error_code - message '403': description: Error headers: x-trace-id: description: Per-request trace id for correlating responses with logs. schema: type: string content: application/json: schema: type: object properties: type: type: string enum: - error error_code: type: string message: type: string details: type: array items: nullable: true trace_id: type: string required: - type - error_code - message '404': description: Error headers: x-trace-id: description: Per-request trace id for correlating responses with logs. schema: type: string content: application/json: schema: type: object properties: type: type: string enum: - error error_code: type: string message: type: string details: type: array items: nullable: true trace_id: type: string required: - type - error_code - message delete: tags: - Services summary: Delete a service definition security: - bearerAuth: [] - cookieAuth: [] parameters: - schema: type: string minLength: 1 required: true name: id in: path responses: '204': description: Deleted. '401': description: Error headers: x-trace-id: description: Per-request trace id for correlating responses with logs. schema: type: string content: application/json: schema: type: object properties: type: type: string enum: - error error_code: type: string message: type: string details: type: array items: nullable: true trace_id: type: string required: - type - error_code - message '403': description: Error headers: x-trace-id: description: Per-request trace id for correlating responses with logs. schema: type: string content: application/json: schema: type: object properties: type: type: string enum: - error error_code: type: string message: type: string details: type: array items: nullable: true trace_id: type: string required: - type - error_code - message '404': description: Error headers: x-trace-id: description: Per-request trace id for correlating responses with logs. schema: type: string content: application/json: schema: type: object properties: type: type: string enum: - error error_code: type: string message: type: string details: type: array items: nullable: true trace_id: type: string required: - type - error_code - message components: schemas: ServiceDefinition: type: object properties: id: type: string name: type: string ports: type: array items: type: object properties: port: type: integer protocol: type: string url_scheme: type: string nullable: true required: - port - protocol - url_scheme created_at: anyOf: - type: string - type: string format: date-time updated_at: anyOf: - type: string - type: string format: date-time required: - id - name - ports - created_at - updated_at