Skip to content

Services

service models a runtime capability in your system (for example an API, worker, or microservice).

Example

This example defines one service that sends and receives messages and reads from and writes to a database container.

main.ec
service OrdersService {
version 1.0.0
name "Orders Service"
summary "Handles order lifecycle"
owner orders-team
sends event OrderCreated@1.0.0 to OrdersEvents@1.0.0
receives command CreateOrder@1.0.0
receives query GetOrderById@1.0.0
writes-to container orders-db@1.0.0
reads-from container orders-db@1.0.0
}

Properties

PropertyTypeRequiredDescriptionExample
versionsemverYesResource version.1.0.0
namestringNoDisplay name (defaults to id)."Orders Service"
summarystringNoShort description."Handles order lifecycle"
ownerreferenceNo (repeatable)Team/user owner reference.owner orders-team
sendsstatementNo (repeatable)Messages produced by the service.sends event OrderCreated
receivesstatementNo (repeatable)Messages consumed by the service.receives command CreateOrder
writes-tostatementNo (repeatable)Containers written by this service.writes-to container orders-db
reads-fromstatementNo (repeatable)Containers read by this service.reads-from container orders-db
flowreferenceNo (repeatable)Related flow references.flow OrderFulfillment@1.0.0
draftbooleanNoMarks resource as draft.draft true
deprecatedbooleanNoMarks resource as deprecated.deprecated true