Skip to main content
PUT
https://sandbox.getcollate.io/api
/
v1
/
storedProcedures
/
{id}
/
followers
PUT /v1/storedProcedures/{id}/followers
from metadata.sdk import configure
from metadata.sdk.entities import StoredProcedures

configure(
    host="https://your-company.getcollate.io/api",
    jwt_token="your-jwt-token"
)

sp_id = "770e8400-e29b-41d4-a716-446655440000"
user_id = "user-uuid-here"

# Add a follower
sp = StoredProcedures.add_followers(sp_id, [user_id])
print(f"Followers: {len(sp.followers)}")

# Remove a follower
sp = StoredProcedures.remove_followers(sp_id, [user_id])

# Add a vote
sp = StoredProcedures.add_vote(sp_id, vote_type="votedUp")

# Remove a vote
sp = StoredProcedures.remove_vote(sp_id)
{
  "id": "d02b24fa-a246-4563-adf1-9ad21f251c0e",
  "name": "calculate_average",
  "fullyQualifiedName": "sample_data.ecommerce_db.shopify.calculate_average",
  "description": "Procedure to calculate average",
  "storedProcedureCode": {
    "code": "CREATE OR REPLACE PROCEDURE calculate_average(numbers INT ARRAY) RETURNS FLOAT NOT NULL LANGUAGE SQL AS $$DECLARE sum_val INT = 0;count_val INT = 0;average_val FLOAT;BEGIN\n  FOR num IN ARRAY numbers DO sum_val := sum_val + num;\n  count_val := count_val + 1;\nEND FOR;\nIF count_val = 0 THEN\n  average_val := 0.0;\nELSE\n  average_val := sum_val / count_val;\nEND IF;\nRETURN average_val;\nEND;$$;"
  },
  "version": 0.1,
  "updatedAt": 1769982660822,
  "updatedBy": "admin",
  "storedProcedureType": "StoredProcedure",
  "databaseSchema": {
    "id": "4dd30184-009c-4792-b296-9562eaed651f",
    "type": "databaseSchema",
    "name": "shopify",
    "fullyQualifiedName": "sample_data.ecommerce_db.shopify"
  },
  "serviceType": "BigQuery",
  "deleted": false,
  "followers": [
    {
      "id": "user-uuid-here",
      "type": "user",
      "name": "john.doe"
    }
  ],
  "owners": [],
  "tags": [],
  "domains": []
}

Followers & Votes

Manage followers and votes for stored procedure entities.

Followers

Add Follower

PUT /v1/storedProcedures/{id}/followers
id
string
required
UUID of the stored procedure.
id
string
required
UUID of the user to add as a follower (sent as request body string).

Remove Follower

DELETE /v1/storedProcedures/{id}/followers/{userId}
id
string
required
UUID of the stored procedure.
userId
string
required
UUID of the user to remove.

Votes

Add or Update Vote

PUT /v1/storedProcedures/{id}/vote
id
string
required
UUID of the stored procedure.
updatedVoteType
string
required
Vote type: votedUp, votedDown, or unVoted.
PUT /v1/storedProcedures/{id}/followers
from metadata.sdk import configure
from metadata.sdk.entities import StoredProcedures

configure(
    host="https://your-company.getcollate.io/api",
    jwt_token="your-jwt-token"
)

sp_id = "770e8400-e29b-41d4-a716-446655440000"
user_id = "user-uuid-here"

# Add a follower
sp = StoredProcedures.add_followers(sp_id, [user_id])
print(f"Followers: {len(sp.followers)}")

# Remove a follower
sp = StoredProcedures.remove_followers(sp_id, [user_id])

# Add a vote
sp = StoredProcedures.add_vote(sp_id, vote_type="votedUp")

# Remove a vote
sp = StoredProcedures.remove_vote(sp_id)
{
  "id": "d02b24fa-a246-4563-adf1-9ad21f251c0e",
  "name": "calculate_average",
  "fullyQualifiedName": "sample_data.ecommerce_db.shopify.calculate_average",
  "description": "Procedure to calculate average",
  "storedProcedureCode": {
    "code": "CREATE OR REPLACE PROCEDURE calculate_average(numbers INT ARRAY) RETURNS FLOAT NOT NULL LANGUAGE SQL AS $$DECLARE sum_val INT = 0;count_val INT = 0;average_val FLOAT;BEGIN\n  FOR num IN ARRAY numbers DO sum_val := sum_val + num;\n  count_val := count_val + 1;\nEND FOR;\nIF count_val = 0 THEN\n  average_val := 0.0;\nELSE\n  average_val := sum_val / count_val;\nEND IF;\nRETURN average_val;\nEND;$$;"
  },
  "version": 0.1,
  "updatedAt": 1769982660822,
  "updatedBy": "admin",
  "storedProcedureType": "StoredProcedure",
  "databaseSchema": {
    "id": "4dd30184-009c-4792-b296-9562eaed651f",
    "type": "databaseSchema",
    "name": "shopify",
    "fullyQualifiedName": "sample_data.ecommerce_db.shopify"
  },
  "serviceType": "BigQuery",
  "deleted": false,
  "followers": [
    {
      "id": "user-uuid-here",
      "type": "user",
      "name": "john.doe"
    }
  ],
  "owners": [],
  "tags": [],
  "domains": []
}

Error Handling

CodeError TypeDescription
401UNAUTHORIZEDInvalid or missing authentication token
403FORBIDDENUser lacks permission
404NOT_FOUNDStored procedure or user does not exist