Pre-Configured APIs
Expensify
API configuration: expensify
Features
Features | Status |
---|---|
Auth (Basic) | ✅ |
Sync data | ✅ |
Perform workflows | ✅ |
Proxy requests | ✅ |
Receive webhooks | 🚫 (time to contribute: <48h) |
We can implement missing features in <48h, just ask for it in the community.
Getting started
Need help getting started? Get help in the community.
API gotchas
- Expensify in Nango uses
Basic
auth mode to access different endpoints. Provide yourpartnerUserID
as the Username value andpartnerUserSecret
as the Password value. - After creating a connection, you can use the Basic credentials as follows;
const connection = await nango.getConnection();
let credentials: { partnerUserID?: string; partnerUserSecret?: string } = {};
if ('username' in connection.credentials && 'password' in connection.credentials) {
credentials = {
partnerUserID: connection.credentials.username,
partnerUserSecret: connection.credentials.password,
};
} else {
throw new nango.ActionError({
message: `Basic API credentials are incomplete`
});
}
const postData = 'requestJobDescription=' + encodeURIComponent(JSON.stringify({
type: input.requestJobDescription.type,
credentials: credentials,
inputSettings: {
type: input.inputSettings.type
}
}));
const resp = await nango.post({
baseUrlOverride: `https://integrations.expensify.com/Integration-Server`,
endpoint: `/ExpensifyIntegrations`,
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
data: postData,
});
- You can have a look at the following simple action template
- Every request has to be made against the same endpoint.
- Expensify enforces a general rate limit of 50 jobs started per minute.
Add Getting Started links and Gotchas by editing this page