1. Docs
  2. Reference
  3. REST API Docs
  4. Services

Services

    Services are a way to group and organize related resources in Pulumi Cloud. The Services API allows you to create, manage, and organize collections of resources that work together to provide a specific capability.

    List Services

    GET /api/orgs/{orgName}/services

    Returns all service accounts in an organization. Service accounts provide programmatic, non-human identities for accessing Pulumi Cloud resources. They can hold access tokens, belong to teams, and have stack permissions, making them suitable for CI/CD pipelines, automation tools, and other machine-to-machine integrations.

    Request Parameters

    • orgName string path required
      The organization name

    Responses

    200 OK
    • services array[Service] required
      The list of services
    • organizationName string required
      the name of the organization this service belongs to
    • owner ServiceMember required
      the owner of the service
    • name string required
      the name of the service
    • description string required
      an optional description of the service
    • created string optional
      the time the service was create
    • members array[ServiceMember] required
      a list of members that have access to the service
    • itemCountSummary map[string]integer required
      item types to their count within the service based on the current user’s permissions
    • properties array[ServiceProperty] required
      an optional list of properties set on the service
    • continuationToken string optional
      ContinuationToken is an opaque value the client can send to fetch additional services. Will be nil once all services have been returned.

    Create Service

    POST /api/orgs/{orgName}/services

    Creates a new service account in an organization. Service accounts provide programmatic, non-human identities for accessing Pulumi Cloud resources. They are scoped to an organization and can hold access tokens, belong to teams, and have stack permissions. The service name must be unique within the organization.

    Request Parameters

    • orgName string path required
      The organization name

    Request Body

    • ownerType string required
      the service owner type
    • ownerName string required
      the service owner name
    • name string required
      the name of the service
    • description string required
      an optional description of the service
    • items array[AddServiceItem] required
      an optional list of items to add during service creation
    • type string required
      the type of the item to add
    • name string required
      the name (including any namespacing) of the item
    • properties array[ServiceProperty] required
      an optional list of properties to set on the service
    • key string required
      the name of the property
    • value string required
      the value of the property
    • type string required
      the type of the property
    • order integer required
      the position of the property

    Responses

    200 OK
    Schema: Service
    • organizationName string required
      the name of the organization this service belongs to
    • owner ServiceMember required
      the owner of the service
    • type string required
      the type of the member (e.g. team / user)
    • name string required
      the login name of the member within Pulumi
    • avatarUrl string required
      an optional avatar URL for the member
    • name string required
      the name of the service
    • description string required
      an optional description of the service
    • created string optional
      the time the service was create
    • members array[ServiceMember] required
      a list of members that have access to the service
    • type string required
      the type of the member (e.g. team / user)
    • name string required
      the login name of the member within Pulumi
    • avatarUrl string required
      an optional avatar URL for the member
    • itemCountSummary map[string]integer required
      item types to their count within the service based on the current user’s permissions
    • properties array[ServiceProperty] required
      an optional list of properties set on the service
    • key string required
      the name of the property
    • value string required
      the value of the property
    • type string required
      the type of the property
    • order integer required
      the position of the property
    Errors: 400 Invalid service data provided 404 service 409 Service with this name already exists

    Get Service

    GET /api/orgs/{orgName}/services/{ownerType}/{ownerName}/{serviceName}

    Returns the details of a specific service account, including its name, owner, description, team memberships, access tokens, and stack permissions. Service accounts provide programmatic, non-human access to Pulumi Cloud resources and are identified by their owner type, owner name, and service name.

    Request Parameters

    • orgName string path required
      The organization name
    • ownerType string path required
      The owner type
    • ownerName string path required
      The owner name
    • serviceName string path required
      The service name

    Responses

    200 OK
    • service Service required
      The service details
    • organizationName string required
      the name of the organization this service belongs to
    • owner ServiceMember required
      the owner of the service
    • name string required
      the name of the service
    • description string required
      an optional description of the service
    • created string optional
      the time the service was create
    • members array[ServiceMember] required
      a list of members that have access to the service
    • itemCountSummary map[string]integer required
      item types to their count within the service based on the current user’s permissions
    • properties array[ServiceProperty] required
      an optional list of properties set on the service
    • items array[ServiceItem] required
      The list of service items
    • organizationName string required
      the name of the organization this item belongs to
    • type string required
      the type of the item
    • name string required
      the name (including any namespacing) of the item
    • version string optional
      optional field if the item has versioning
    • created string required
      timestamp of when the item was created
    • lastUpdate ServiceItemUpdate optional
      when did the last update occur to this item, if any
    • addedByUser ServiceMember optional
      who added the item reference to the service - this will always be a user
    • cloudCount integer required
      how many Pulumi cloud measured primitives are within this item
    • continuationToken string optional
      ContinuationToken is an opaque value the client can send to fetch additional items. Will be nil once all items have been returned.

    Update Service

    PATCH /api/orgs/{orgName}/services/{ownerType}/{ownerName}/{serviceName}

    Updates the metadata and configuration of an existing service account, such as its description, team memberships, and access settings. Service accounts provide programmatic, non-human access to Pulumi Cloud resources.

    Request Parameters

    • orgName string path required
      The organization name
    • ownerType string path required
      The owner type
    • ownerName string path required
      The owner name
    • serviceName string path required
      The service name

    Request Body

    • name string optional
      the name of the service
    • description string optional
      an optional description of the service
    • properties array[ServiceProperty] optional
      an optional list of properties to set on the service
    • key string required
      the name of the property
    • value string required
      the value of the property
    • type string required
      the type of the property
    • order integer required
      the position of the property

    Responses

    200 OK
    Schema: Service
    • organizationName string required
      the name of the organization this service belongs to
    • owner ServiceMember required
      the owner of the service
    • type string required
      the type of the member (e.g. team / user)
    • name string required
      the login name of the member within Pulumi
    • avatarUrl string required
      an optional avatar URL for the member
    • name string required
      the name of the service
    • description string required
      an optional description of the service
    • created string optional
      the time the service was create
    • members array[ServiceMember] required
      a list of members that have access to the service
    • type string required
      the type of the member (e.g. team / user)
    • name string required
      the login name of the member within Pulumi
    • avatarUrl string required
      an optional avatar URL for the member
    • itemCountSummary map[string]integer required
      item types to their count within the service based on the current user’s permissions
    • properties array[ServiceProperty] required
      an optional list of properties set on the service
    • key string required
      the name of the property
    • value string required
      the value of the property
    • type string required
      the type of the property
    • order integer required
      the position of the property
    Errors: 400 Invalid service update data provided or invalid member type. 404 service

    Delete Service

    DELETE /api/orgs/{orgName}/services/{ownerType}/{ownerName}/{serviceName}

    Deletes a service account from an organization. Service accounts provide programmatic, non-human access to Pulumi Cloud resources. If the service has other members, deletion requires explicit confirmation via the force parameter. All access tokens and permissions associated with the service are revoked.

    Request Parameters

    • orgName string path required
      The organization name
    • ownerType string path required
      The owner type
    • ownerName string path required
      The owner name
    • serviceName string path required
      The service name
    • force boolean query optional
      Force deletion even if the service has other members

    Responses

    204 No Content
    Errors: 400 invalid query parameter 404 service 412 confirmation is required to delete service with other members

    Head Service

    HEAD /api/orgs/{orgName}/services/{ownerType}/{ownerName}/{serviceName}

    Checks whether a service account exists in the organization without returning its full details. Returns 204 No Content if the service exists, or an error if not found. This is a lightweight check useful for validating service account references.

    Request Parameters

    • orgName string path required
      The organization name
    • ownerType string path required
      The owner type
    • ownerName string path required
      The owner name
    • serviceName string path required
      The service name

    Responses

    204 No Content

    Add Service Items

    POST /api/orgs/{orgName}/services/{ownerType}/{ownerName}/{serviceName}/items

    Adds items (such as access tokens, team memberships, or stack permissions) to an existing service account. Service accounts provide programmatic, non-human access to Pulumi Cloud resources and are scoped to an organization. Items define what the service account can access and what credentials it holds. Returns the updated service details.

    Request Parameters

    • orgName string path required
      The organization name
    • ownerType string path required
      The owner type
    • ownerName string path required
      The owner name
    • serviceName string path required
      The service name

    Request Body

    • items array[AddServiceItem] required
      List of items
    • type string required
      the type of the item to add
    • name string required
      the name (including any namespacing) of the item

    Responses

    200 OK
    • service Service required
      The service details
    • organizationName string required
      the name of the organization this service belongs to
    • owner ServiceMember required
      the owner of the service
    • name string required
      the name of the service
    • description string required
      an optional description of the service
    • created string optional
      the time the service was create
    • members array[ServiceMember] required
      a list of members that have access to the service
    • itemCountSummary map[string]integer required
      item types to their count within the service based on the current user’s permissions
    • properties array[ServiceProperty] required
      an optional list of properties set on the service
    • items array[ServiceItem] required
      The list of service items
    • organizationName string required
      the name of the organization this item belongs to
    • type string required
      the type of the item
    • name string required
      the name (including any namespacing) of the item
    • version string optional
      optional field if the item has versioning
    • created string required
      timestamp of when the item was created
    • lastUpdate ServiceItemUpdate optional
      when did the last update occur to this item, if any
    • addedByUser ServiceMember optional
      who added the item reference to the service - this will always be a user
    • cloudCount integer required
      how many Pulumi cloud measured primitives are within this item
    • continuationToken string optional
      ContinuationToken is an opaque value the client can send to fetch additional items. Will be nil once all items have been returned.
    Errors: 400 Invalid service item data provided.

    Remove Service Item

    DELETE /api/orgs/{orgName}/services/{ownerType}/{ownerName}/{serviceName}/items/{itemType}/{itemName}

    Removes a specific item (such as a team membership, access token, or stack permission) from a service account. Returns the updated service details after the item has been removed.

    Request Parameters

    • orgName string path required
      The organization name
    • ownerType string path required
      The owner type
    • ownerName string path required
      The owner name
    • serviceName string path required
      The service name
    • itemType string path required
      The item type
    • itemName string path required
      The item name

    Responses

    200 OK
    • service Service required
      The service details
    • organizationName string required
      the name of the organization this service belongs to
    • owner ServiceMember required
      the owner of the service
    • name string required
      the name of the service
    • description string required
      an optional description of the service
    • created string optional
      the time the service was create
    • members array[ServiceMember] required
      a list of members that have access to the service
    • itemCountSummary map[string]integer required
      item types to their count within the service based on the current user’s permissions
    • properties array[ServiceProperty] required
      an optional list of properties set on the service
    • items array[ServiceItem] required
      The list of service items
    • organizationName string required
      the name of the organization this item belongs to
    • type string required
      the type of the item
    • name string required
      the name (including any namespacing) of the item
    • version string optional
      optional field if the item has versioning
    • created string required
      timestamp of when the item was created
    • lastUpdate ServiceItemUpdate optional
      when did the last update occur to this item, if any
    • addedByUser ServiceMember optional
      who added the item reference to the service - this will always be a user
    • cloudCount integer required
      how many Pulumi cloud measured primitives are within this item
    • continuationToken string optional
      ContinuationToken is an opaque value the client can send to fetch additional items. Will be nil once all items have been returned.
    Errors: 400 invalid item name