You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -500,7 +500,7 @@ It's important to emphasise that a git submodule is just a **regular git reposit
500
500
> #### For external contributors
501
501
>
502
502
> If you'd like to modify the `Mobile-Expensify` source code, it is best that you create your own fork. Then, you can swap origin of the remote repository by executing this command:
Copy file name to clipboardExpand all lines: docs/articles/expensify-classic/connections/Expensify-API.md
+17-17Lines changed: 17 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,50 +11,50 @@ To begin, review our [Integration Server Manual](https://integrations.expensify.
11
11
12
12
We've compiled answers to some frequently asked questions to help you get started.
13
13
14
-
**Should I give your support team my API credentials when I need help?**
14
+
## Should I give your support team my API credentials when I need help?
15
15
16
16
If you’re seeking help with Expensify's API, do not share your partnerUserSecret. If you do, immediately rotate your credentials on [this page](https://www.expensify.com/tools/integrations/).
17
17
18
-
**Is there a rate limit?**
18
+
## Is there a rate limit?
19
19
20
20
To keep our platform stable and handle high traffic, Expensify limits how many API requests you can send:
21
21
- Up to 5 requests every 10 seconds
22
22
- Up to 20 requests every 60 seconds
23
23
24
24
Sending more requests than allowed may result in an error with status code `429`.
25
25
26
-
**What is a Policy ID?**
26
+
## What is a Policy ID?
27
27
28
28
This is also known as a Workspace ID. To find your Policy/Workspace ID,
29
29
Hover over Settings and click Workspaces.
30
30
Click the name of the Workspace.
31
31
Copy the ID number from the URL. For example, if the URL is https://www.expensify.com/policy?param={"policyID":"0810E551A5F2A9C2”}, then your workspace ID is 0810E551A5F2A9C2.
32
32
33
-
**Can I use the parent type `file` to export workspace/policy data?**
33
+
## Can I use the parent type `file` to export workspace/policy data?
34
34
35
35
No. The parent type `file` can only be used to export expense and report data — not policy information. To export policy data (e.g., categories, tags), you must use the `get` type with `inputSettings.type` set to `policy`.
36
36
37
-
**Can I use the API to create Domain Groups?**
37
+
## Can I use the API to create Domain Groups?
38
38
39
39
No, you cannot create domain groups. You can only assign users to them.
40
40
41
-
**I’m exporting expense IDs `${expense.transactionID}` but when I open my CSV in Excel, it’s changing all the IDs and making them look the same. How can I prevent this?**
41
+
## I’m exporting expense IDs `${expense.transactionID}` but when I open my CSV in Excel, it’s changing all the IDs and making them look the same. How can I prevent this?
42
42
43
43
Try prepending a non-numeric character like a quote to force Excel to interpret the value as a string and not a number (i.e., `'${expense.transactionID}`).
44
44
45
-
**How can we export the person who will approve a report while the reports are still processing?**
45
+
## How can we export the person who will approve a report while the reports are still processing?
46
46
47
47
Use the field ${report.managerEmail}.
48
48
49
-
**Why won’t my boolean field return any data?**
49
+
## Why won’t my boolean field return any data?
50
50
51
51
Boolean fields won't output values without a string. For example, instead of using `${expense.billable}`, use `${expense.billable?string("Yes", "No")}`. This will display "Yes" if the expense is billable and "No" if it is not.
52
52
53
-
**Can I export the reports for just one user?**
53
+
## Can I export the reports for just one user?
54
54
55
55
Not in a quick convenient way, as you would need to include the user in your template. The simplest approach is to export data for all users and then apply a filter in your preferred spreadsheet program.
56
56
57
-
**Can I create expenses on behalf of users?**
57
+
## Can I create expenses on behalf of users?
58
58
59
59
Yes. However, to access the Expense Creator API on behalf of employees, Expensify needs to verify the following setup:
60
60
@@ -63,17 +63,17 @@ Verify you have internal authorization to add data to other accounts within your
63
63
64
64
If you need this access, contact concierge@expensify.com and reference this help page.
65
65
66
-
##Using Postman
66
+
# Using Postman
67
67
68
68
Many customers use Postman to help them build out their APIs. Below are some guides contributed by our customers. Please note, in all cases, you will need to first generate your authentication credentials, the steps for which can be found [here](https://integrations.expensify.com/Integration-Server/doc/#introduction) and have them ready:
69
69
70
-
###Download expenses from a report as a CSV file
70
+
## Download expenses from a report as a CSV file
71
71
72
72
**Step 1: Get the ID of a report you want to export in Expensify**
73
73
74
74
Find the ID by opening the expense report and clicking Details at the top right corner of the page. At the top of the menu, the ID is provided as the “Long ID.”
75
75
76
-
**Step 3: Export (generate) a "Report" as a CSV file**
76
+
**Step 2: Export (generate) a "Report" as a CSV file**
77
77
{% include info.html %}
78
78
For this you'll use the Documentation under [Report Exporter](https://integrations.expensify.com/Integration-Server/doc/#export).
79
79
{% include end-info.html %}
@@ -146,11 +146,11 @@ The template key will have the value like below:
146
146
147
147
The template variable determines what information is saved in your CSV file. If you want more columns than merchant, amount, and transaction date, follow the syntax as defined in the export template format documentation.
148
148
149
-
**Step 4: Save your generated file name**
149
+
**Step 3: Save your generated file name**
150
150
151
-
Expensify currently supports only the "onReceive":{"immediateResponse":["returnRandomFileName"]} option in step 3, so you should receive a random filename back from the API like "exportc111111d-a1a1-a1a1-a1a1-d1111111f.csv". You will need to document this filename if you plan on running the download command after this one.
151
+
Expensify currently supports only the "onReceive":{"immediateResponse":["returnRandomFileName"]} option in step 2, so you should receive a random filename back from the API like "exportc111111d-a1a1-a1a1-a1a1-d1111111f.csv". You will need to document this filename if you plan on running the download command after this one.
152
152
153
-
**Step 5: Download your exported report**
153
+
**Step 4: Download your exported report**
154
154
155
155
Set up another API call in almost the same way you did before. You don't need the template key in the Body anymore, so delete that and set the Body type to "none". Then modify your requestJobDescription to read like below, but with your own credentials and file name:
156
156
@@ -170,7 +170,7 @@ Click Go and you should see the CSV in the response body.
170
170
171
171
*Thank you to our customer Frederico Pettinella who originally wrote and shared this guide.*
0 commit comments