> For the complete documentation index, see [llms.txt](https://docs.eseye.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.eseye.com/api-reference/sim-api/sim/view-a-specific-sim.md).

# View a specific SIM

Returns a SIM by its ICC ID.

The response holds one record per version of the SIM, most recent first. A new record is written each time the SIM changes, so this endpoint doubles as a change history. Use `startDate` and `stopDate` to narrow the range.

```json
{"openapi":"3.1.0","info":{"title":"AnyNet SIM API","version":"2.0.0"},"tags":[{"name":"SIM"}],"servers":[{"url":"https://sim.api.anynetiot.com","description":"Production"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"An OAuth 2.0 client credentials access token, sent as `Authorization: Bearer <token>`.\n\nRequest the token from `https://eseye-idp-prod.auth.eu-west-1.amazoncognito.com/oauth2/token` using the client ID and client secret Eseye supplied. Tokens expire after one hour."}},"parameters":{"iccId":{"name":"iccId","in":"path","required":true,"description":"The ICC ID of the SIM.","schema":{"type":"string"}},"enrich":{"name":"enrich","in":"query","required":false,"description":"Set to `title` to add a readable title next to each ID-based field in the response.","schema":{"type":"string","enum":["title"]}},"startDate":{"name":"startDate","in":"query","required":false,"description":"Filter history records from this date onwards, inclusive, in the format `YYYY-MM-DD HH:mm:ss`.","schema":{"type":"string","format":"date-time"}},"stopDate":{"name":"stopDate","in":"query","required":false,"description":"Filter history records up to this date, inclusive, in the format `YYYY-MM-DD HH:mm:ss`.","schema":{"type":"string","format":"date-time"}}},"schemas":{"SimRecord":{"description":"A single version of a SIM, including the history of the change.","allOf":[{"$ref":"#/components/schemas/Sim"},{"type":"object","properties":{"id":{"type":"integer","description":"The identifier of this history record. A new record is written each time the SIM changes."},"history":{"$ref":"#/components/schemas/History"}}}]},"Sim":{"type":"object","properties":{"iccId":{"type":"string","maxLength":20,"description":"The Integrated Circuit Card Identifier that uniquely identifies the SIM, or the eUICC SIM profile."},"simId":{"type":"string","maxLength":32,"description":"The Eseye SIM reference number, printed on the physical SIM card."},"iccMnoId":{"type":"string","description":"Identifies the mobile network operator that provides the IMSI."},"iccSpecId":{"type":"integer","description":"The SIM manufacturing batch number, which identifies the SIM specification."},"iccTypeId":{"type":"integer","description":"The SIM part number, which identifies the form factor, such as plug-in, embedded, or eSIM."},"adminSuspend":{"allOf":[{"$ref":"#/components/schemas/YesNo"}],"description":"An Eseye administrator has suspended the SIM. Only Eseye can unsuspend it. Service charges continue while a SIM is suspended."},"systemSuspend":{"allOf":[{"$ref":"#/components/schemas/YesNo"}],"description":"The Eseye system has suspended the SIM under your alert rules. It unsuspends automatically at the start of the next billing cycle. Service charges continue while a SIM is suspended."},"customerSuspend":{"allOf":[{"$ref":"#/components/schemas/YesNo"}],"description":"You have suspended the SIM. You can unsuspend it at any time. Service charges continue while a SIM is suspended."},"dataSuspend":{"allOf":[{"$ref":"#/components/schemas/YesNo"}],"description":"Whether the device is blocked from using data."},"messagingSuspend":{"allOf":[{"$ref":"#/components/schemas/YesNo"}],"description":"Whether the device is blocked from sending and receiving SMS."},"voiceSuspend":{"allOf":[{"$ref":"#/components/schemas/YesNo"}],"description":"Whether the device is blocked from making and receiving voice calls."},"eId":{"type":"string","maxLength":32,"description":"The eUICC identifier. This is the global serial number that identifies an eUICC for remote SIM provisioning."},"pin1":{"type":"string","maxLength":5,"description":"The primary PIN, used to unlock the SIM. Eseye advises against enabling a PIN on IoT devices."},"pin2":{"type":"string","maxLength":5,"description":"The secondary PIN, used to unlock advanced SIM services. Eseye advises against enabling a PIN on IoT devices."},"puk1":{"type":"string","maxLength":8,"description":"The unblocking key that resets `pin1` after too many incorrect attempts."},"puk2":{"type":"string","maxLength":8,"description":"The unblocking key that resets `pin2` after too many incorrect attempts."},"rspId":{"type":"integer","description":"Identifies the remote SIM provisioning platform the SIM uses."},"platformId":{"type":"integer","description":"Identifies the platform the SIM is provisioned on."},"activatedDate":{"type":"string","format":"date-time","description":"When the SIM was first activated. All times are UTC."},"terminatedDate":{"type":["string","null"],"format":"date-time","description":"When the SIM was terminated. `null` if the SIM has not been terminated."},"status":{"$ref":"#/components/schemas/SimStatus"},"attributes":{"type":"array","description":"The attributes attached to the SIM. Omitted if the SIM has none.","items":{"$ref":"#/components/schemas/SimAttribute"}},"portfolioPackage":{"$ref":"#/components/schemas/PortfolioPackage"}},"description":"A SIM on your account, identified by its ICC ID."},"YesNo":{"type":"string","description":"A yes or no flag.\n\n| Value | Meaning |\n| --- | --- |\n| `yes` | The service or object is disabled. |\n| `no` | The service or object is not disabled. |","enum":["yes","no"]},"SimStatus":{"type":"string","description":"The status of the SIM.\n\n| Value | Meaning |\n| --- | --- |\n| `available` | The SIM exists on your account and has a package, but cannot connect to a network. No service charges apply. |\n| `active` | The SIM is provisioned and ready to use on the network. Standard service charges and usage charges apply. |\n\nSet `status` to `active` to activate a SIM, or to `available` to deactivate it.","enum":["available","active"]},"SimAttribute":{"type":"object","properties":{"iccAttributeId":{"type":"integer","description":"The unique identifier for the attribute."},"iccId":{"type":"string","maxLength":20,"description":"The SIM the attribute belongs to."},"attribute":{"type":"string","maxLength":48,"description":"The attribute name. Names cannot contain spaces."},"value":{"type":"string","maxLength":255,"description":"The attribute value. Can be an empty string, but not `null`."},"status":{"$ref":"#/components/schemas/RecordStatus"}},"description":"A name/value pair attached to a SIM."},"RecordStatus":{"type":"string","description":"Whether the record is still attached to its parent object.\n\n| Value | Meaning |\n| --- | --- |\n| `active` | The record is attached to the parent object. |\n| `deleted` | The record is no longer attached to the parent object. |","enum":["active","deleted"]},"PortfolioPackage":{"type":"object","description":"The portfolio and package a SIM is assigned to, and its contract dates.","properties":{"icc2PortfolioPackageId":{"type":"integer","description":"The unique identifier for this portfolio and package assignment."},"iccId":{"type":"string","description":"The SIM the assignment belongs to.","maxLength":20},"portfolioId":{"type":"string","maxLength":32,"description":"The portfolio the SIM is assigned to. A portfolio is the account that owns the SIM and controls who can access it."},"portfolioStartDate":{"type":"string","format":"date-time","description":"When the SIM joined the portfolio."},"packageId":{"type":"integer","description":"The package applied to the SIM. A package holds the contract, pricing, and allowance details."},"packageStartDate":{"type":"string","format":"date-time","description":"When the package took effect."},"contractStartDate":{"type":["string","null"],"format":"date-time","description":"When the contract began, which is when the SIM first became active."},"contractEndDate":{"type":["string","null"],"format":"date-time","description":"When the contract ends, calculated from the contract start date and the contract period in the package."},"commsProfileId":{"type":"integer","description":"The communications profile applied to the SIM, which defines its network configuration."},"status":{"$ref":"#/components/schemas/RecordStatus"}}},"History":{"type":"object","description":"The lifecycle timestamps for a single version of a record. All times are UTC.","properties":{"inService":{"type":"string","description":"When this version came into effect."},"outOfService":{"type":["string","null"],"description":"When this version was superseded. `null` if current."},"createdDate":{"type":"string","description":"When the record was first created."},"modifiedUserId":{"type":"string","description":"The user who made the change."},"modifiedDate":{"type":"string","description":"When the change was made."}}},"Error":{"type":"object","properties":{"errorCode":{"type":"integer","description":"The Eseye error code.\n\n| Code | Meaning |\n| --- | --- |\n| `6001` | Your service account does not have permission for this operation. |\n| `6002` | An object referenced in the request does not exist. |\n| `6003` | The request method is wrong or missing. |\n| `6004` | The server could not be reached. Check the request URL and your connection. |\n| `6006` | The request is malformed. A mandatory field is missing, a data type is wrong, a value is too long, or the JSON is invalid. |\n| `6007` | You do not have permission to make this status transition. |"},"errorTag":{"type":"string","description":"A short error name. Contains no spaces."},"message":{"type":"string","description":"A short description of the error."},"additionalDetails":{"type":"object","description":"Names the object that could not be resolved, or lists the fields that failed validation."}},"description":"An error returned by the API."}},"responses":{"BadRequest":{"description":"The request contained an invalid parameter. `additionalDetails` lists the fields that failed validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Forbidden":{"description":"The token is valid, but the service account does not have permission for this operation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotFound":{"description":"An entity referenced in the request does not exist. The `message` and `additionalDetails` name what could not be resolved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/api/v2/sim/{iccId}":{"get":{"summary":"View a specific SIM","operationId":"view-specific-sim","tags":["SIM"],"parameters":[{"$ref":"#/components/parameters/iccId"},{"$ref":"#/components/parameters/enrich"},{"$ref":"#/components/parameters/startDate"},{"$ref":"#/components/parameters/stopDate"}],"responses":{"200":{"description":"The SIM, returned as one or more history records.","content":{"application/json":{"schema":{"type":"object","properties":{"pageToken":{"type":"string","description":"Identifier of the current page of results."},"requestedPageSize":{"type":"integer","description":"The page size applied to this request."},"itemCount":{"type":"integer","description":"The number of history records returned in this page."},"item":{"type":"array","description":"The matching history records, most recent first.","items":{"$ref":"#/components/schemas/SimRecord"}}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"description":"Returns a SIM by its ICC ID.\n\nThe response holds one record per version of the SIM, most recent first. A new record is written each time the SIM changes, so this endpoint doubles as a change history. Use `startDate` and `stopDate` to narrow the range."}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.eseye.com/api-reference/sim-api/sim/view-a-specific-sim.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
