# Frequently Asked Questions

# General Questions

# How can I get all data from a service?

We generally encourage you to limit the amount of data fetched, but in the instances where you need to fully sync data you can use the ChangedAfter search parameter (or similarily named DateTime search parameter in a service) and set the date sufficiently back in time to ensure that you get all available data.

# Is there any rate limiting on API calls?

The rate limit for API calls is 7200 requests per hour. In addition there is a rolling rate limit of 250 requests during a 10 second period.

If you get this error:

SoapService.Library.SecondGen.LimitExceededException:
Limit exceeded by 1. Request is blocked. Quarantine ends at XXX-XX-XX
1
2

This means that you have exceeded the rate limit for that hour. Wait for the next hour to begin, then continue as normal with the requests.
If you need to incease your rate limit contact API support with your IP address.

If you get this error:

HTTP 429 Too many requests. 
1

This means that you've done too many requests in a short time period and you will have to throttle the request amount to be within the 250 requests during a 10 second period. Please note that this is a hard limit that cannot be altered, you have to avoid overloading the APIs with too many concurrent requests.

# Do I need a new ApplicationId to gain access to client X?

No, ApplicationIds are used for identifying an integration and is not tied to any specific clients in 24SevenOffice.
Client access is managed through the credentials (email and password) that are used in the Login request.
In order to get access to a specific client, the customer needs to provide you with the proper credentials.

# I'm getting different dates from the API than what I'm seeing on the web?

The API returns UTC DateTimes, you have to adjust these to the current timezone your integration is using.

# How do I get a test client or increase demo client period?

You can sign up and create a test client on our home page (opens new window). If you wish to extend a demo period, please contact 24SevenOffice Support at: support@24sevenoffice.com

# Availability

Information on planned downtime can be found on Twitter (opens new window)

# Failed to load external entity - PHP

Some PHP integrations will get this error. The issue is PHP specific and related to SSL settings in the client settings of the integration. We cannot provide specific assistance with these issues, since they are general in nature and related to PHP configurations and not to any 24SevenOffice API specifics.

# Special characters are saved as question marks

You have to set the proper encoding in the header of your request: Content-Type: text/xml;charset=utf-8

# Authenticate

# I'm authenticated when requesting service X, but it fails when requesting service Y?

Our APIs are on two separate domains: api.24sevenoffice.com and webservices.24sevenoffice.com. Please make sure that your session cookie has been added to both domains. An snippet in C# that adds cookie to all 24sevenoffice.com subdomains:

	cookieContainer.Add(new Cookie("ASP.NET_SessionId", sessionId) { Domain = ".24sevenoffice.com" }
1

# I'm getting "Provided IdentityId is blocked. Please use GetIdentitiesWithCredential to get a list of available Identities and reauthenticate with a valid IdentityId"

If you authenticate with credentials where the default client is blocked or you provide an IdentityId of a blocked client, you need to reauthenticate with the IdentityId of an unblocked client.

# If I authenticate repeatedly with the same credentials in a short time span, I stop receiving sessionIds even though the credentials are the same.

If one IP address makes 20 login attempts in one minute to the same user account, the rate limit comes into effect. After that, we allow the user 10 attempts per minute. Any combination of successful and failed login attempts count toward this limit.

# InvoiceService

# Can I download or upload attachments to outgoing invoices?

No, this is not available through the API. You can download PDFs of generated outgoing invoices, but any attachments for the outgoing invoice are not available. If you wish to upload images of invoice, receipts etc. used in bookkeeping, see our AttachmentService

# Can't find the PaymentAmount field when I use GetInvoices?

This field is only used with the SaveInvoices method when registering invoices as paid when they are created.

# Can I merge orders through the API?

Not directly, you have to delete the orders that you want to merge and then create a new order with the data from the orders you want to merge.

# Is there a due date on the invoice?

To set a due date on an Invoice the property PaymentTime is used. If you set this as 14 it means 14 days from the invoice date. See the InvoiceOrder datatype for more details.

# Can I see the distribution status of an invoice that has been sent?

Unfortunately no. There is no API for this.

# Will KID numbers be automatically set on invoices created through the API?

Yes, they will be automatically generated if you have an active KID agreement with your bank and you have set up KID number generation in 24SevenOffice.

# Can I specify my own KID on invoices

Yes, you can set KID with the OCR property on an InvoiceOrder.

# Will structure products be added automatically as invoice rows?

No, there is no functionality for this. You have to specify all products and invoice rows that you want to add to an InvoiceOrder.

# Is the invoice fee added automatically when creating InvoiceOrders through the API?

No, the invoice fee that can be configured in the Invoice Module is not set automatically for InvoiceOrders created through the API. It must be added by the integration.

# Are predefined dimensions on products automatically set when creating an InvoiceOrder?

No, predefined dimensions on products are not automatically set for invoice rows when creating an InvoiceOrder through the API. This feature is only supported in the GUI.

# AccountService

# Error message "Could not finish last Bundle! iError:2" in response from SaveBundleList

Please make sure that the accounting year has been defined in the client’s Accounting setup.
You can read more in our help article on accounting settings (opens new window) (Norwegian only)

# Error message "Attachment is posted in the journal" in response from SaveBundleList

The StampNo that is used in your request has already been used and can't have any more entries added to it.

# Error message "No next Entry Id found with the provided date and sort" in response from GetEntryId

This error could occur if there are no previous entries in the Entry Series you are requesting an Entry Id from.
It can also occur if you're using a non-existent Entry Series Id.

# Error message "Voucher has a vat code that does not have a corresponding vat amount"

When saving bundles directly to the journal (SaveOption 0) and using the TaxNo property, you have to specify the VAT entry lines as well.

# I'm getting -1 in response from GetEntryId request

If the fiscal year has not been set up for the date you're requesting the GetEntryId method will respond with -1.

# The EntryNo is set to Auto in the web interface

This happens if you send requests to SaveBundleList with negative TransactionNo values. This should be avoided.

# Can I specify a KID number for entries?

Yes, you use the InvoiceOcr property to specify the KID.

# ProductService

# Can I specify Account details in TypeGroups for Categories and Products through the API?

No, this can only be managed in the GUI.

# Are predefined dimensions on products available through the API?

No, this can only be managed in the GUI.