Creating API in Sailpoint

Hi Team,

I have one requirement to create API in sailpoint which will consume by another team. For using that API this team will upload one CSV file in /temp folder. Can anyone please help me to provide that approach how I achieve that requirement.

Which endpoint of Sailpoint you want to expose, please go through the below links, if this is what you are looking for, if other endpoints, please specify your requirements.

Thanks @naveenkumar3 For your reply.

Same thing I want to create which you have provided. But post API I want to create. In which I expose that API to another team and using that API this team will upload CSV in server /tmp folder.

Can you tell me your requirement clearly, So you want to expose the api to other team and then you want to create. Can you tell me your use case correctly, I can give solution accordingly

Hi @naveenkumar3 ,

My requirement is create one POST API and that team will configure at there end. When they hit this API .CSV file will upload in our server.

@sachinty If i understood it correctly, other team will make api POST call to IIQ and you need to create a csv file in your server. Please confirm.

Also, to create custom APIs, you can use Plugin Framework where you need to introduce a new Resource extending BasePluginResource and add your endpoint logic here. You can add necessary authentication checks to make sure only specific users with capabilities can only access this. Article: Plugin Developer Guide | SailPoint Developer Community

Note: Found a fix?Help the community by marking the comment as solution. Feel free to react(:heart:,:+1:, etc.)with an emoji to show your appreciation or message me directly if your problem requires a deeper dive.

Hi @sachinty, you could use the built-in “identityiq/rest/workflows/…/launch” endpoint to launch a custom workflow.
Alternatively, you could create a new endpoint.

I would choose a new endpoint, but it depends on your skill set.

Try to avoid using a csv file; just post the data if you can.

1 Like

Hello @paul_hilchey Thanks for reply.

My requirement is when an external team hits our API endpoint, the Excel file included in their request should be uploaded and stored on our server.

Hi Sachin,

Please write your plugin to achieve below

Inside your plugin you must implement logic to do below to achive the requirement after exposing the endpoint.

  1. Accept the POST request
  2. Read the uploaded file from the request
  3. Choose a server path
  4. Write the file to server

Agreed, you would need to go with custom Plugin development.

Here is a video from Sailpoint on Custom Plugin development: https://www.youtube.com/watch?v=Mbi5i-KMhwQ&list=PL4S_vg5GUvWGBaD4jHrgprJZC1X4daBQ3&index=2

As discussed above,
We can achieve it with the help of Plugins. One of my colleague has made a nice blog on the same based out of our experience on developing same sort of thing in one project. You can refer the link below -

Part-1

Part-2

@sachinty As discussed over chat, i have shared a sample plugin. Please try it out and let us know for any further help.

Note: Found a fix?Help the community by marking the comment as solution. Feel free to react(:heart:,:+1:, etc.)with an emoji to show your appreciation or message me directly if your problem requires a deeper dive.

That already sounds fishy. What is your plan for storing that excel? Where will it reside? To make this available to IIQ it should go in to DB, where? You would need some custom libraries to read that, more custom stuff.

Try to reject that idea.

In a modern design API consumes data not files.

Propose an API that get json data and work with that.

Sachin Tyagi - I analyzed your issue after going through a couple of blogs, and it looks like this can be achieved using plugins. SailPoint IIQ Plugin

External Team


POST /identityiq/plugin/csvUpload/api/upload
│ (multipart/form-data with CSV file)

SailPoint IIQ Plugin (REST Resource)

├── Validates the request (API Key / Token)
├── Saves CSV to server path
└── (Optional) Triggers an IIQ Task/Rule