---
title: "Add sponsored domains"
method: POST
path: "/v1/domains/{domainId}/account/{entityId}/sponsored-domains"
tags: ["Gas station"]
---

# Add sponsored domains

`POST /v1/domains/{domainId}/account/{entityId}/sponsored-domains`

## Request

- Base URL: `https://docs.ripple.com` (the document declares no server; this is the origin it was published from)
- URL: `https://docs.ripple.com/v1/domains/{domainId}/account/{entityId}/sponsored-domains`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/ripple/apis/ripple-custody-api/docs/v1/domains/:domainId/account/:entityId/sponsored-domains/post.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `domainId` string, required
- `entityId` string, required

## Request body

- GasStationAddSponsoredDomainsDto
  - `domains` GasStationDomainIdentifierDto[], required
    - `domainId` string, required: Domain ID to sponsor
  - `userId` string: UUID of the user performing the action. Optional — only honored when the caller is a service principal; otherwise the authenticated user from the JWT is used.

## Response `201`

- GasStationSponsoredModificationResponseDto
  - `success` boolean, required: Whether the operation completed (true even for partial success)
  - `count` number, required: Number of entities successfully added
  - `conflicts` GasStationConflictEntityDto[]: Entities that could not be added due to conflicts
    - `accountId` string: Account ID that conflicted (for account conflicts)
    - `domainId` string, required: Domain ID of the conflicting entity
    - `reason` 'ALREADY_SPONSORED', required: Reason for the conflict
    - `existingSponsorAccountId` string, required: Account ID of the existing sponsor

## Other responses

- `404`: Sponsor not found

---

[API](https://skmtc.dev/ripple/apis/ripple-custody-api.md) - [All operations](https://skmtc.dev/ripple/apis/ripple-custody-api/llms.txt) - [OpenAPI document](https://skmtc.dev/ripple/apis/ripple-custody-api/revisions/c6f0ad6b70c0?raw)
