Pipeline
Pipelines are dynamic CRM objects — each has its own fields and its own REST endpoint. You must discover the pipeline's namePlural from the Metadata API before making requests.
Step 1 — Discover Available Pipelines
Always start by fetching the list of pipelines in your workspace:
curl -G "https://app.usedalil.ai/rest/metadata/pipelines" \
-H "Authorization: Bearer YOUR_API_KEY"The response includes each pipeline's id, nameSingular, namePlural, and labelSingular.
Step 2 — Get Pipeline Fields
To see what fields a pipeline supports (including SELECT options):
curl -G "https://app.usedalil.ai/rest/metadata/pipelines/{pipelineId}" \
-H "Authorization: Bearer YOUR_API_KEY"Endpoints
Once you have the namePlural, all endpoints follow the same pattern as other resources:
Example — Create a Pipeline Record
# If namePlural is "startupFundraisings":
curl -X POST "https://app.usedalil.ai/rest/startupFundraisings" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Series A Round",
"stage": "TERM_SHEET",
"amount": {
"amountMicros": 2000000000000,
"currencyCode": "USD"
}
}'Example — Search Pipeline Records
# Step 1 — GraphQL search (different query from standard entities)
curl -X POST "https://app.usedalil.ai/graphql" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "query SearchPipeline($searchInput: String!) { searchPipeline(searchInput: $searchInput, nameSingular: \"startupFundraising\", limit: 5) { edges { node { recordId label } } } }",
"variables": { "searchInput": "Series A" }
}'
# Step 2 — fetch full records
curl -G "https://app.usedalil.ai/rest/startupFundraisings" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "filter=id[in]:[id1,id2]"💡 Pipeline search uses
searchPipeline (not search) and requires the nameSingular parameter. See the Metadata API for discovering pipelines and their fields.