Skip to content

Commit 3adeab0

Browse files
authored
Merge branch 'main' into DDOC-1226-publishing
2 parents 4f1c13f + 809d56a commit 3adeab0

File tree

97 files changed

+456
-358
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

97 files changed

+456
-358
lines changed

content/guides/api-calls/api-versioning-strategy.md

Lines changed: 44 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -13,35 +13,58 @@ API versioning empowers Box to continually enhance its platform, while also offe
1313

1414
<Message type='tip'>
1515

16-
To stay informed about the forthcoming API modifications, monitor the [Changelog](https://developer.box.com/changelog/) and maintain a current email address in the Developer Console's App Info section.
16+
To stay informed about the forthcoming API modifications, monitor the [Changelog](page://changelog) and maintain a current email address in the Developer Console's App Info section.
1717

1818
</Message>
1919

20-
## How Box API versioning works
21-
20+
<!-- Commenting this until we enable base version support in Public API Service
2221
<Message type='notice'>
2322
24-
Box API supports versioning in URL `path` and `header`. To determine which version to use, look at the API reference and included sample requests.
23+
In 2024, Box introduced year-based API versioning.
24+
25+
All endpoints available at the end of 2024 were assigned the version `2024.0`.
26+
27+
**No action is required for API users to continue using Box APIs.**
28+
29+
To make version-aware API calls, include the `box-version` header with the value `2024.0` in your requests.
2530
2631
</Message>
32+
-->
33+
34+
## How Box API versioning works
2735

28-
### Versioning in `path`
36+
<Message type='notice'>
2937

30-
The default version of the API used in any requests is specified in the URL of the endpoint you call.
31-
For example, when calling the `https://upload.box.com/api/2.0/files/content` endpoint without any version header specified, you reach the `2.0` version defined in the URL.
38+
Box API supports versioning in `header`. To determine which version to use, look at the API reference and included sample requests.
3239

33-
If there is a significant change to API behavior, the new endpoint will be exposed under the new URL.
34-
For example, `https://upload.box.com/api/2.0/files/content` supports a multipart content type when uploading files to Box. If the new version of this API stops supporting this content type, it will be released under a new URL `https://upload.box.com/api/3.0/files/content`.
40+
</Message>
3541

3642
### Versioning in `header`
3743

38-
Box API processes the `box-version` header which should contain a valid version name, that is `box-version: 2025.0` and be directed at `https://api.box.com/2.0/files/:file_id/metadata`.
44+
Box API processes the `box-version` header which should contain a valid version name. For example, when a client wants
45+
to get a list of all sign requests using version `2025.0`, the request should look like this:
46+
47+
```curl
48+
curl --location 'https://api.box.com/2.0/sign_requests' \
49+
--header 'box-version: 2025.0' \
50+
--header 'Authorization: Bearer …
51+
```
52+
53+
If the provided version is correct and supported by the endpoint, a response is sent to the client.
54+
If the endpoint is available in multiple versions, the response will include the `box-version` header,
55+
which indicates the version used to handle the request.
56+
Endpoints introduced after 2024 may return a `400` error code if the version is incorrect.
57+
More information about versioning errors can be found [here](g://api-calls/permissions-and-errors/versioning-errors).
3958

40-
If the provided version is correct, a response is sent back to the client. The response also contains the `box-version` header if it was provided in the request. By default, this header is not present in the response. If the version is wrong, an error with the HTTP code `400` is returned to the client.
59+
If your request doesn't include a version, the API defaults to the initial Box API version - `2024.0` - the version of endpoints available before
60+
year-based versioning was introduced. However, relying on this behavior is not recommended when adopting deprecated
61+
changes. To ensure consistency, always specify the API version, with each request. By making your application
62+
version-aware, you anchor it to a specific set of features, ensuring consistent behavior throughout the supported
63+
timeframe.
4164

4265
## Release schedule and naming convention
4366

44-
Box can introduce a new breaking change to certain endpoints **once per year**.
67+
Box can introduce a new breaking change to certain endpoints **once per year**, which results in a new API version.
4568
Introducing a new version of the Sign Request endpoint means that **all paths and HTTP methods** of an endpoint will support it.
4669

4770
For example, if Sign Request endpoints receive a new version it will apply to all endpoints listed in the table:
@@ -69,12 +92,6 @@ It also means, that a new version cannot be released sooner than every 12 months
6992

7093
We strongly recommend updating your apps to make requests to the latest stable API version. However, if your app uses a stable version that is no longer supported, then you will get a response with an HTTP error code `400 - Bad Request`. For details, see [Versioning Errors](g://api-calls/permissions-and-errors/versioning-errors).
7194

72-
If your request doesn't include a version, the API defaults to the initial Box API version—the version available before
73-
year-based versioning was introduced. However, relying on this behavior is not recommended when adopting deprecated
74-
changes. To ensure consistency, always specify the API version, with each request. By making your application
75-
version-aware, you anchor it to a specific set of features, ensuring consistent behavior throughout the supported
76-
timeframe.
77-
7895
### Endpoint versioning indication
7996

8097
To keep you informed about the current API state, and improve the readability of the versioned API reference, the affected endpoints are marked with a pill based on the `x-stability-level` tag or `deprecated` attribute.
@@ -83,22 +100,10 @@ To keep you informed about the current API state, and improve the readability of
83100

84101
| Schema element | Pill name | Description|
85102
|---------------------|-----------|------------|
86-
| `x-stability-level: beta` | Beta | Endpoints marked with **beta**, are offered subject to Box’s Main Beta Agreement, meaning the available capabilities may change at any time. Although beta endpoints not the same as versioned endpoints, they are a part of API lifecycle. |
87-
|`x-stability-level: stable` or no `x-stability-level` tag | Latest version | The latest version applies to APIs that are already versioned. **Latest version** marks the most recent stable API version of an endpoint.|
103+
| `x-stability-level: beta` | Beta | Endpoints marked with **beta**, are offered subject to Box’s Main Beta Agreement, meaning the available capabilities may change at any time. When the beta endpoint becomes stable, the **beta** indication is removed. |
104+
|`x-stability-level: stable` or no `x-stability-level` tag | Latest version | **Latest version** marks the most recent stable API version of an endpoint.|
88105
| `deprecated: true` | Deprecated | An endpoint is deprecated, which means it is still available for use, but no new features are added. Such an endpoint is annotated with the `deprecated` attribute set to `true`.|
89106

90-
## Calling an API version
91-
92-
Box API versions are explicitly declared in the `box-version` header that your app makes requests to. For example:
93-
94-
```curl
95-
curl --location 'https://api.box.com/2.0/sign_requests' \
96-
--header 'box-version: 2025.0' \
97-
--header 'Authorization: Bearer …
98-
```
99-
100-
The client gets a list of all created sign requests and asks for version `2025.0`. There are several supported versions of the APIs available, and you specify the version that you want to use with the `box-version` header. There are three types of API versions: **stable**, **deprecated**, and **unstable**.
101-
102107
## Versioning errors
103108

104109
When using versioned API actions such as calling an incorrect API version in header or a deprecated version can lead to errors.
@@ -107,7 +112,7 @@ For details on possible errors, see [versioning errors](g://api-calls/permission
107112

108113
## How Box SDK versioning works
109114

110-
The versioning strategy applies only to [next generation generated SDKs](https://developer.box.com/sdks-and-tools/#next-generation-sdks).
115+
The versioning strategy applies only to [next generation generated SDKs](page://sdks-and-tools/#next-generation-sdks).
111116

112117
Box SDKs support the **All Versions In** SDK approach.
113118
This means that every release of SDK provides access to all endpoints in any version which is currently live. All generated SDKs use manager's approach - they group all endpoints with the same domain in one manager.
@@ -208,14 +213,14 @@ When new versions of the Box APIs and Box SDKs are released, earlier versions wi
208213
sooner than after 24 months.
209214
Similarly, for individual APIs that are generally available (GA), Box declares an API as `deprecated` at least 24 months in advance of removing it from the GA version.
210215

211-
When we increment the major version of the API (for example, from `2024.0` to `2025.0`), we're announcing that the current version (in this example, `2024.0`) is immediately deprecated and we'll no longer support it 24 months after the announcement. We might make exceptions to this policy for service security or health reliability issues.
216+
When we increment the major version of the API (for example, from `2025.0` to `2026.0`), we're announcing that the current version (in this example, `2025.0`) is immediately deprecated and we'll no longer support it 24 months after the announcement. We might make exceptions to this policy for service security or health reliability issues.
212217

213218
When an API is marked as deprecated, we strongly recommend that you migrate to the latest version as soon as possible. In some cases, we'll announce that new applications will have to start using the new APIs a short time after the original APIs are deprecated.
214219
215220
When customer calls deprecated API endpoint, the response will contain a header:
216221
217222
```sh
218-
Deprecation: date="Fri, 11 Nov 2023 23:59:59 GMT"
223+
Deprecation: date="Fri, 11 Nov 2026 23:59:59 GMT"
219224
Box-API-Deprecated-Reason: https://developer.box.com/reference/deprecated
220225
```
221226
@@ -225,8 +230,8 @@ The date tells clients when this version was marked as deprecated.
225230
226231
When building your request, consider the following:
227232
228-
* If you do not specify a version, the service will return the initial version that existed before year-based versioning was introduced. If the initial version does not exist, the response will return an HTTP error code `400 - Bad Request`.
229-
* If the version header is specified but the requested version is unavailable, the response will return an HTTP error code `400 - Bad Request`.
233+
* Endpoints in version `2024.0` can be called without specifying the version in the `box-version` header. If no version is specified and the `2024.0` version of the called endpoint does not exist, the response will return an HTTP error code `400 - Bad Request`.
234+
* If the `box-version` version header is specified but the requested version does not exist, the response will return an HTTP error code `400 - Bad Request`.
230235
231236
For details, see [versioning errors](g://api-calls/permissions-and-errors/versioning-errors).
232237
@@ -235,7 +240,7 @@ When Box deprecates a resource or a property of a resource in the API, the chang
235240
* Calls that include the deprecated behavior return the response header `Box-API-Deprecated-Reason` and a link to get more information:
236241
237242
```sh
238-
box-version: 2023.0
243+
box-version: 2025.0
239244
Deprecation: version="version", date="date"
240245
Box-API-Deprecated-Reason: https://developer.box.com/reference/deprecated
241246
```
@@ -246,4 +251,4 @@ When Box deprecates a resource or a property of a resource in the API, the chang
246251
247252
## Additional resources
248253
249-
* [API reference](https://developer.box.com/reference/)
254+
* [API reference](page://reference)

content/guides/api-calls/permissions-and-errors/scopes.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -325,19 +325,19 @@ The standard OAuth scopes are also supported when downscoping.
325325
[console]: https://app.box.com/developers/console
326326
[ui-elements]: https://github.com/box/box-ui-elements
327327
[pricing]: https://www.box.com/pricing/platform
328-
[reference]: https://developer.box.com/reference
328+
[reference]: page://reference
329329
<!-- i18n-disable localize-links -->
330330
[at]: g://authentication/tokens
331331
[security]: g://security
332332
[jwt]: g://authentication/jwt
333-
[mu]:page://platform/user-types/#managed-users
333+
[mu]: page://platform/user-types/#managed-users
334334
[au]: g://authentication/jwt/as-user
335335
[uat]: g://authentication/jwt/user-access-tokens
336336
[appaccess]: g://authentication/jwt/jwt-setup/#application-access
337-
[appu]:page://platform/user-types/#app-user
337+
[appu]: page://platform/user-types/#app-user
338338
<!-- i18n-enable localize-links -->
339339
[governance]: https://www.box.com/security/governance-and-compliance
340340
<!-- i18n-disable localize-links -->
341341
[suppress]: g://api-calls/suppress-notifications
342342
[ds]: g://authentication/tokens/downscope
343-
[sa]:page://platform/user-types/#service-account
343+
[sa]: page://platform/user-types/#service-account

content/guides/api-calls/permissions-and-errors/versioning-errors.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,15 @@ Box provides versioning capabilities for selected API endpoints. The version con
1111

1212
API versioning empowers Box to continually enhance its platform, while also offering third-party developers a reliable avenue for feature updates and deprecations.
1313

14-
To stay informed about the API modifications, monitor the [Changelog](https://developer.box.com/changelog/) and maintain a current email address in the **App Info** section of the Developer Console.
14+
To stay informed about the API modifications, monitor the [Changelog](page://changelog) and maintain a current email address in the **App Info** section of the Developer Console.
1515

1616
## Error examples
1717

1818
When using versioned API calls, you can encounter versioning-related errors. This reference lists the most common cases when errors appear and provides you with examples of such errors.
1919

2020
## Calling with incorrect `box-version` header
2121

22-
If you call an API using an incorrect `box-version` header, the API will respond with an `HTTP error code 400 - Bad Request` error and provide the supported versions in the response message.
22+
If you call an API using an incorrect `box-version` header, the API will respond with an `HTTP error code 400 - Bad Request` error and provide the supported versions in the response message.
2323

2424
The response will include one of the following status messages in `message` field:
2525

@@ -53,12 +53,12 @@ Box documentation specifies API URLs. For instance, the Sign Requests endpoints
5353
When you use an API version that Box has marked as deprecated, the API will respond as usual. Additionally, it will append a `Deprecation` header, stating the deprecation date. For example:
5454

5555
```sh
56-
Deprecation: date="Fri, 11 Nov 2023 23:59:59 GMT"
56+
Deprecation: date="Fri, 11 Nov 2026 23:59:59 GMT"
5757
Box-API-Deprecated-Reason: https://developer.box.com/reference/deprecated
5858
```
5959

6060
You should monitor API responses to verify if the `Deprecation` header is present to accordingly plan the transition to a new API version.
6161

6262
## Calling a non-existent version
6363

64-
If you attempt to use an outdated API version, such as `2023.0` which has reached its end-of-life, the response will return an `HTTP error code 404 - Not Found`. See [Calling an incorrect API version in the URL](#calling-an-incorrect-api-version-in-the-url) for more information.
64+
If you attempt to use an outdated API version, such as `2025.0` which has reached its end-of-life, the response will return an `HTTP error code 404 - Not Found`. See [Calling an incorrect API version in the URL](#calling-an-incorrect-api-version-in-the-url) for more information.

content/guides/applications/app-types/custom-apps.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,6 @@ Custom Apps may require approval before use.
6666

6767
[oauth2]: g://authentication/oauth2
6868
[jwt]: g://authentication/jwt
69-
[cc]: g://authentication/client-credentials/
70-
[uie]: g://embed/ui-elements/
69+
[cc]: g://authentication/client-credentials
70+
[uie]: g://embed/ui-elements
7171
[users]: g;//getting-started/user-types/#managed-users/

content/guides/applications/app-types/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,6 @@ create.
3535
[devtoken]: g://authentication/tokens/developer-tokens
3636
[custom-apps]: g://applications/app-types/custom-apps
3737
[custom-skills]: g://applications/app-types/custom-skills
38-
[ccg]: g://authentication/client-credentials/
39-
[laa]: g://applications/app-types/limited-access-apps/
38+
[ccg]: g://authentication/client-credentials
39+
[laa]: g://applications/app-types/limited-access-apps
4040
[insights]: https://support.box.com/hc/en-us/articles/20738406915219-Platform-Insights

content/guides/applications/app-types/limited-access-apps.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,15 @@ with a [limited number of endpoints][limited].
1212

1313
## Authentication methods
1414

15-
Limited Access Apps only support App Token authentication.
15+
Limited Access Apps only support App Token authentication.
1616

1717
<CTA to='g://authentication/app-token'>
1818
Learn more about App Tokens
1919
</CTA>
2020

2121
## When to use
2222

23-
A Limited Access App is best used when the application:
23+
A Limited Access App is best used when the application:
2424

2525
- wants to use Box View or only Box's preview services
2626
- only needs to access a [limited number of endpoints][limited]
@@ -33,11 +33,11 @@ A Limited Access App is best used when the application:
3333

3434
## Approval
3535

36-
Limited Access Apps may require approval before use.
36+
Limited Access Apps may require approval before use.
3737

3838
<CTA to='g://authorization/limited-access-approval'>
3939
Learn how to approve Limited Access Apps
4040
</CTA>
4141

42-
[bv]: g://embed/box-view/
42+
[bv]: g://embed/box-view
4343
[limited]: g://authentication/app-token/endpoints

content/guides/applications/web-app-integrations/configure.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,8 +143,8 @@ Center. Follow the [Integrations][integrations] guide for more details.
143143

144144
[ca]: g://applications/app-types/custom-apps
145145
[pu]: g://applications/web-app-integrations/types
146-
[uid]:page://platform/appendix/locating-values/#user-ids
147-
[fid]:page://platform/appendix/locating-values/#content-ids
146+
[uid]: page://platform/appendix/locating-values/#user-ids
147+
[fid]: page://platform/appendix/locating-values/#content-ids
148148
[code]: g://authentication/oauth2/without-sdk/#3-user-grants-application-access
149149
[custom-oauth2]: g://authentication/oauth2/oauth2-setup
150150
[devconsole]: https://app.box.com/developers/console

content/guides/authentication/best-practices.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,5 +84,5 @@ enhancements.
8484
Developer Tokens should only be used for development or testing purposes and
8585
never in production.
8686

87-
[downscope]: g://authentication/tokens/downscope/
88-
[revoke]: g://authentication/tokens/revoke/
87+
[downscope]: g://authentication/tokens/downscope
88+
[revoke]: g://authentication/tokens/revoke

content/guides/authentication/client-credentials/index.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ This error indicates either:
8080

8181
- the client ID and client secret passed are incorrect or are not for the same application,
8282

83-
- the `box_subject_id` cannot be used based on the selected [application access][aa].
83+
- the `box_subject_id` cannot be used based on the selected [application access][aa].
8484

8585
<Message warning>
8686

@@ -105,8 +105,8 @@ Once you make changes to the app settings, don't forget to [reauthorize][reauth]
105105
<!-- i18n-disable localize-links -->
106106

107107
[devconsole]: https://app.box.com/developers/console
108-
[accesstoken]: e://post-oauth2-token/
109-
[sa]: page://platform/user-types/#service-account/
108+
[accesstoken]: e://post-oauth2-token
109+
[sa]: page://platform/user-types/#service-account
110110
[auth]: g://authorization
111111
[aa]: g://authentication/client-credentials/client-credentials-setup/#application-access
112112
[reauth]: g://authorization/custom-app-approval#re-authorization-on-changes

content/guides/authentication/oauth2/without-sdk.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -318,11 +318,11 @@ To learn how to use an Access Token visit our guide on [Making API calls][apic].
318318

319319
<!-- i18n-disable localize-links -->
320320

321-
[auth]: e://get-authorize/
321+
[auth]: e://get-authorize
322322
[ci]: e://get-authorize/#param-client_id
323323
[re]: e://get-authorize/#param-redirect_uri
324324
[co]: e://get-authorize/#param-response_type
325325
[st]: e://get-authorize/#param-state
326326
[thirty]: g://api-calls/permissions-and-errors/expiration
327-
[at]: e://post-oauth2-token/
328-
[apic]: g://api-calls/
327+
[at]: e://post-oauth2-token
328+
[apic]: g://api-calls

0 commit comments

Comments
 (0)