API ReferenceapicommsPOST /v1/support/tickets

POST /v1/support/tickets

Service: comms · operationId: (none)

Required scopes

(no scope declared — review service config)

Request body

{
  "type": "object",
  "properties": {
    "brand_id": {
      "type": "string",
      "minLength": 1
    },
    "person_id": {
      "type": "string",
      "minLength": 1
    },
    "requester_email": {
      "type": "string",
      "format": "email"
    },
    "requester_name": {
      "type": "string",
      "minLength": 1
    },
    "subject": {
      "type": "string",
      "minLength": 1
    },
    "body": {
      "type": "string",
      "minLength": 1
    },
    "attachment": {
      "type": "object",
      "properties": {
        "filename": {
          "type": "string",
          "minLength": 1
        },
        "content_base64": {
          "type": "string",
          "minLength": 1
        },
        "content_type": {
          "type": "string",
          "minLength": 1
        }
      },
      "required": [
        "filename",
        "content_base64"
      ]
    }
  },
  "required": [
    "brand_id",
    "person_id",
    "requester_email",
    "subject",
    "body"
  ]
}

Responses

201 Support ticket created

{
  "type": "object",
  "properties": {
    "ticket_id": {
      "type": "string"
    },
    "message_id": {
      "type": "string"
    },
    "status": {
      "type": "string",
      "enum": [
        "requested",
        "sent"
      ]
    }
  },
  "required": [
    "ticket_id",
    "message_id",
    "status"
  ]
}

400 Validation or upstream error

{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    },
    "message": {
      "type": "string"
    }
  },
  "required": [
    "error",
    "message"
  ]
}

403 Authenticated user does not match ticket owner

{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    },
    "message": {
      "type": "string"
    }
  },
  "required": [
    "error",
    "message"
  ]
}

Example

curl -X POST https://comms.platform.loop.health/v1/support/tickets \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ ... }'