Skip to content

Commit 2f03d21

Browse files
integrate Rossum basic 5 api (#197)
### Overview This integration implements Rossum API endpoints into our application, providing comprehensive workspace management capabilities including login, document upload, document annotation. notice Please note that there is an error in uploading files on the function ROSSUM__UPLOAD_TO_QUEUE . get response : {'success': False, 'error': "{'detail': 'Multipart form parse error - Invalid boundary in multipart: None', 'code': 'parse_error'}"} Application URL: https://rossum.ai API Documentation URL: https://elis.rossum.ai/api/docs ### Integrated API ``` ROSSUM__LOGIN ROSSUM__GET_DOCUMENT ROSSUM__GET_QUEUES ROSSUM__UPLOAD_TO_QUEUE ROSSUM__GET_ANNOTATION ``` ### Fuzzy Tests ``` docker compose exec runner python -m aipolabs.cli.aipolabs fuzzy-test-function-execution --aipolabs-api-key 5380c46b933a55a3f00f4738f96c898c5fc123ad844d959d48e38fb63f65237a --linked-account-owner-id linhao3370@foxmail.com --function-name ROSSUM__LOGIN --prompt "organizations is fzguoguo, username is linhao3370@foxmail.com , password is v8EC@W2DLeBRN6G" docker compose exec runner python -m aipolabs.cli.aipolabs fuzzy-test-function-execution --aipolabs-api-key 5380c46b933a55a3f00f4738f96c898c5fc123ad844d959d48e38fb63f65237a --linked-account-owner-id linhao3370@foxmail.com --function-name ROSSUM__UPLOAD_TO_QUEUE --prompt "organizations is fzguoguo, queue_id is 1765744, upload file is @\"/Users/linhao/Downloads/O'\''Reilly - Python Cookbook.pdf \"" docker compose exec runner python -m aipolabs.cli.aipolabs fuzzy-test-function-execution --aipolabs-api-key 5380c46b933a55a3f00f4738f96c898c5fc123ad844d959d48e38fb63f65237a --linked-account-owner-id linhao3370@foxmail.com --function-name ROSSUM__GET_DOCUMENT --prompt "organizations is fzguoguo , document_id is 15743988" docker compose exec runner python -m aipolabs.cli.aipolabs fuzzy-test-function-execution --aipolabs-api-key 5380c46b933a55a3f00f4738f96c898c5fc123ad844d959d48e38fb63f65237a --linked-account-owner-id linhao3370@foxmail.com --function-name ROSSUM__GET_QUEUES --prompt "get queues by organizations frome fzguoguo" docker compose exec runner python -m aipolabs.cli.aipolabs fuzzy-test-function-execution --aipolabs-api-key 5380c46b933a55a3f00f4738f96c898c5fc123ad844d959d48e38fb63f65237a --linked-account-owner-id linhao3370@foxmail.com --function-name ROSSUM__GET_QUEUES --prompt "organizations is fzguoguo ID is 8813919" ``` ### Videos / IMAGE --- ROSSUM__LOGIN ![image](https://github.com/user-attachments/assets/ce9eff7a-d502-44c4-8700-303f20c0fb79) --- ROSSUM__GET_DOCUMENT ![image](https://github.com/user-attachments/assets/b288886a-739f-4786-9be1-d72d3b33e325) --- ROSSUM__GET_QUEUES ![image](https://github.com/user-attachments/assets/fb815aaa-cd5f-4b55-aa81-b5563e582aba) --- ROSSUM__GET_ANNOTATION ![image](https://github.com/user-attachments/assets/752e4ae7-5036-4ae9-8d3f-da5312a8b974) --- ROSSUM__UPLOAD_DOCUMENT ![image](https://github.com/user-attachments/assets/c05fe84a-01fb-4d57-8126-0988b0536274) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## Summary by CodeRabbit - **New Features** - Introduced Rossum app integration with AI-powered document processing. - Added secure API connectivity for document retrieval, queue management, authentication, document upload, and annotation access. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
1 parent 7f91706 commit 2f03d21

File tree

2 files changed

+334
-0
lines changed

2 files changed

+334
-0
lines changed

apps/rossum/app.json

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"name": "ROSSUM",
3+
"display_name": "Rossum",
4+
"logo": "https://raw.githubusercontent.com/aipotheosis-labs/aipolabs-icons/refs/heads/main/apps/rossum.svg",
5+
"provider": "Resend",
6+
"version": "1.0.0",
7+
"description": "Automate complex transactional workflows with Rossum's AI document processing solution. Reduce manual tasks, increase accuracy, drive efficiency.",
8+
"security_schemes": {
9+
"api_key": {
10+
"location": "header",
11+
"name": "Authorization",
12+
"prefix": "Bearer"
13+
}
14+
},
15+
"default_security_credentials_by_scheme": {},
16+
"categories": [
17+
"ai",
18+
"Document Intelligence"
19+
],
20+
"visibility": "public",
21+
"active": true
22+
}

apps/rossum/functions.json

Lines changed: 312 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,312 @@
1+
[
2+
{
3+
"name": "ROSSUM__GET_DOCUMENT",
4+
"description": "Retrieve a specific document from Rossum by ID",
5+
"tags": [
6+
"rossum",
7+
"document",
8+
"retrieval"
9+
],
10+
"visibility": "public",
11+
"active": true,
12+
"protocol": "rest",
13+
"protocol_data": {
14+
"method": "GET",
15+
"path": "/api/v1/documents/{document_id}",
16+
"server_url": "https://{organizations}.rossum.app"
17+
},
18+
"parameters": {
19+
"type": "object",
20+
"properties": {
21+
"path": {
22+
"type": "object",
23+
"properties": {
24+
"document_id": {
25+
"type": "string",
26+
"description": "ID of the document to retrieve"
27+
},
28+
"organizations": {
29+
"type": "string",
30+
"description": "organizations name"
31+
}
32+
},
33+
"required": [
34+
"document_id",
35+
"organizations"
36+
],
37+
"visible": [
38+
"document_id",
39+
"organizations"
40+
],
41+
"additionalProperties": false
42+
}
43+
},
44+
"required": [
45+
"path"
46+
],
47+
"visible": [
48+
"path"
49+
],
50+
"additionalProperties": false
51+
}
52+
},
53+
{
54+
"name": "ROSSUM__GET_QUEUES",
55+
"description": "get Rossum all queues",
56+
"tags": [
57+
"rossum",
58+
"queues",
59+
"retrieval"
60+
],
61+
"visibility": "public",
62+
"active": true,
63+
"protocol": "rest",
64+
"protocol_data": {
65+
"method": "GET",
66+
"path": "/api/v1/queues",
67+
"server_url": "https://{organizations}.rossum.app"
68+
},
69+
"parameters": {
70+
"type": "object",
71+
"properties": {
72+
"path": {
73+
"type": "object",
74+
"properties": {
75+
"organizations": {
76+
"type": "string",
77+
"description": "organizations name"
78+
}
79+
},
80+
"required": [
81+
"organizations"
82+
],
83+
"visible": [
84+
"organizations"
85+
],
86+
"additionalProperties": false
87+
}
88+
},
89+
"required": [
90+
"path"
91+
],
92+
"visible": [
93+
"path"
94+
],
95+
"additionalProperties": false
96+
}
97+
},
98+
{
99+
"name": "ROSSUM__LOGIN",
100+
"description": "Authenticate with Rossum API using username and password credentials",
101+
"tags": [
102+
"rossum",
103+
"authentication",
104+
"login"
105+
],
106+
"visibility": "public",
107+
"active": true,
108+
"protocol": "rest",
109+
"protocol_data": {
110+
"method": "POST",
111+
"path": "/api/v1/auth/login",
112+
"server_url": "https://{organizations}.rossum.app",
113+
"content_type": "application/json"
114+
},
115+
"parameters": {
116+
"type": "object",
117+
"properties": {
118+
"path": {
119+
"type": "object",
120+
"properties": {
121+
"organizations": {
122+
"type": "string",
123+
"description": "organizations name"
124+
}
125+
},
126+
"required": [
127+
"organizations"
128+
],
129+
"visible": [
130+
"organizations"
131+
],
132+
"additionalProperties": false
133+
},
134+
"body": {
135+
"type": "object",
136+
"properties": {
137+
"username": {
138+
"type": "string",
139+
"description": "Registered username/email for authentication"
140+
},
141+
"password": {
142+
"type": "string",
143+
"description": "Account password",
144+
"writeOnly": true
145+
}
146+
},
147+
"required": [
148+
"username",
149+
"password"
150+
],
151+
"visible": [
152+
"username",
153+
"password"
154+
],
155+
"additionalProperties": false
156+
}
157+
},
158+
"required": [
159+
"path",
160+
"body"
161+
],
162+
"visible": [
163+
"path",
164+
"body"
165+
],
166+
"additionalProperties": false
167+
}
168+
},
169+
{
170+
"name": "ROSSUM__UPLOAD_TO_QUEUE",
171+
"description": "Upload a document to a specific queue in Rossum",
172+
"tags": [
173+
"rossum",
174+
"document",
175+
"upload"
176+
],
177+
"visibility": "public",
178+
"active": true,
179+
"protocol": "rest",
180+
"protocol_data": {
181+
"method": "POST",
182+
"path": "/api/v1/queues/{queue_id}/upload",
183+
"server_url": "https://{organizations}.rossum.app"
184+
},
185+
"parameters": {
186+
"type": "object",
187+
"properties": {
188+
"path": {
189+
"type": "object",
190+
"properties": {
191+
"organizations": {
192+
"type": "string",
193+
"description": "organizations name",
194+
"default": "example name."
195+
},
196+
"queue_id": {
197+
"type": "string",
198+
"description": "Target queue ID",
199+
"example": "1765744"
200+
}
201+
},
202+
"required": [
203+
"queue_id"
204+
],
205+
"visible": [
206+
"organizations",
207+
"queue_id"
208+
],
209+
"additionalProperties": false
210+
},
211+
"header": {
212+
"type": "object",
213+
"properties": {
214+
"Content-Type": {
215+
"type": "string",
216+
"default": "multipart/form-data",
217+
"description": "Must be set for file uploads"
218+
}
219+
},
220+
"required": [
221+
"Content-Type"
222+
],
223+
"visible": [],
224+
"additionalProperties": false
225+
},
226+
"body": {
227+
"type": "object",
228+
"properties": {
229+
"content": {
230+
"type": "string",
231+
"format": "binary",
232+
"description": "File content in binary format"
233+
},
234+
"filename": {
235+
"type": "string",
236+
"description": "Original filename with extension",
237+
"example": "O'Reilly - Python Cookbook.pdf"
238+
}
239+
},
240+
"required": [
241+
"content"
242+
],
243+
"visible": [
244+
"content",
245+
"filename"
246+
],
247+
"additionalProperties": false
248+
}
249+
},
250+
"required": [
251+
"path",
252+
"header",
253+
"body"
254+
],
255+
"visible": [
256+
"path",
257+
"body"
258+
],
259+
"additionalProperties": false
260+
}
261+
},
262+
{
263+
"name": "ROSSUM__GET_ANNOTATION",
264+
"description": "Retrieve a specific annotation from Rossum by ID",
265+
"tags": [
266+
"rossum",
267+
"annotation",
268+
"retrieval"
269+
],
270+
"visibility": "public",
271+
"active": true,
272+
"protocol": "rest",
273+
"protocol_data": {
274+
"method": "GET",
275+
"path": "/api/v1/annotations/{annotation_id}",
276+
"server_url": "https://{organizations}.rossum.app"
277+
},
278+
"parameters": {
279+
"type": "object",
280+
"properties": {
281+
"path": {
282+
"type": "object",
283+
"properties": {
284+
"organizations": {
285+
"type": "string",
286+
"description": "organizations name"
287+
},
288+
"annotation_id": {
289+
"type": "string",
290+
"description": "ID of the annotation to retrieve"
291+
}
292+
},
293+
"required": [
294+
"annotation_id"
295+
],
296+
"visible": [
297+
"organizations",
298+
"annotation_id"
299+
],
300+
"additionalProperties": false
301+
}
302+
},
303+
"required": [
304+
"path"
305+
],
306+
"visible": [
307+
"path"
308+
],
309+
"additionalProperties": false
310+
}
311+
}
312+
]

0 commit comments

Comments
 (0)